Anpassen eines FlowForce-Serverauftrags

In unserem vorherigen Beitrag mit dem Titel "Datenmapping und -transformation mit FlowForce Server automatisieren" haben wir einen Job namens SimpleMapAndTransform erstellt, um das Datenmapping mithilfe von MapForce Server zu automatisieren und HTML-Berichte mit StyleVision Server zu erstellen. Nachdem der FlowForce Server-Job mehrmals ausgeführt wurde, haben wir in demselben Ordner, in dem wir die Eingabedateien verarbeiten, viele Ausgabedateien sowie temporäre Zwischendateien im Ordner "workFiles" angesammelt, wie im folgenden Bild zu sehen ist.

In diesem Beitrag werden wir die Funktionalität verbessern, um geordnetere Ergebnisse zu erzielen und unnötige temporäre Dateien zu entfernen.

Neuorganisation der Ausgabe

Zunächst können wir innerhalb der "Für jede"-Schleife, die die Eingabedateien verarbeitet, weitere Schritte hinzufügen, um die neu erstellten .gpx- und .html-Dateien, die durch die Datenzuordnung und -transformation entstehen, in den Ordner "fertigeEingaben" zu verschieben. Dies sind die Schritte 3 und 4 in der folgenden Aufzählung.

Die Option "Arbeitsverzeichnis" in jedem Schritt kann auch die Ausgabe umleiten. Allerdings enthält die Variable , die wir verwendet haben, um jede Eingabedatei zur Verarbeitung auszuwählen, den vollständigen Pfad und den Dateinamen. Daher ist es einfacher, diese Zeichenkette weiterhin zu verwenden und alle Ausgabedateien zu verschieben, sobald die Verarbeitung abgeschlossen ist.

Unser StyleVision-Design für den Bericht enthält ein Diagramm, das als separate .png-Datei gespeichert wird, unabhängig vom Haupt-HTML-Dokument. Der letzte Schritt des Prozesses verwendet eine System-Befehlszeilenfunktion, um alle .png-Dateien vom Eingabeordner in den Ordner für die fertigen Arbeiten zu verschieben.

Die Befehlszeilenfunktion ermöglicht es Ihnen, jeden gültigen Betriebssystembefehl als einen Schritt in einem FlowForce Server-Job zu definieren. In diesem Job befinden wir uns noch innerhalb der "Für jede"-Schleife, sodass die .png-Dateien zusammen mit den zugehörigen .html-Dokumenten verschoben werden. Wir haben ein Platzhalterzeichen für den .png-Dateinamen verwendet, da die .png-Dateien nicht genau dem Namensmuster der Eingabedokumente entsprechen. Dieses Platzhaltermuster funktioniert auch für StyleVision-Designs, die für jeden Bericht mehrere Diagramme erstellen.

Schritte für Hausarbeiten

Es ist eine gute Praxis, die Inhalte von Arbeitsverzeichnissen regelmäßig zu leeren. Unser Programm verwendet den Ordner "workFiles", um die Inhalte der .pxf-Datei für die Erstellung von Berichten zu erweitern. Der Screenshot dieses Ordners, der im Bild oben in diesem Beitrag zu sehen ist, zeigt das XML-Schema, Arbeitsdateien für das Design, .XSLT-Dateien zur Darstellung verschiedener Berichtformate und temporäre Arbeitsdateien.

Wir könnten nach der "Für-Jedes"-Schleife in unserem Job einen Schritt zur Bereinigung hinzufügen, um direkt nach der Verarbeitung Aufräumarbeiten durchzuführen. Allerdings ermöglicht der FlowForce Server, mehrere gleichzeitig laufende Instanzen desselben Jobs auszuführen. Es wäre ungünstig, wenn eine Instanz den Ordner "workFiles" leert, während eine andere Instanz ihn noch verwendet!

Eine bessere Lösung ist, eine separate Aufgabe zur Bereinigung zu definieren und diese so zu planen, dass sie ausgeführt wird, wenn die Hauptaufgabe inaktiv ist. Hier ist ein Beispiel für eine sehr einfache Bereinigungsaufgabe für den Ordner "workingFiles", bei der die Befehlszeilenfunktion erneut verwendet wird:

Wir haben ein Wildcard-Zeichen verwendet, um alles im Verzeichnis "workFiles" zu löschen, aber diese Option ist möglicherweise nicht in allen Fällen geeignet. Wenn die .pxf-Datei .css-Stylesheets oder Bilddateien enthält, die für das .html-Dokument benötigt werden, sind möglicherweise spezifischere Schritte zur Datenbereinigung erforderlich.

Jobauslöser

Die ursprüngliche Aufgabe "SimpleMapAndTransform" ist so konfiguriert, dass sie alle 15 Minuten von 8:30 bis 17:00 Uhr, von Montag bis Freitag, ausgeführt wird. Wie oben gezeigt, ist die Aufgabe zur Datenbereinigung so geplant, dass sie einmal täglich um 19:00 Uhr (oder 19:00 Uhr abends) ausgeführt wird. Die Startseite der Web-Oberfläche des FlowForce-Servers zeigt den Aufgabenplan:

Hier ist ein einfacher Trick, mit dem Sie einen FlowForce-Server-Job während der Definition testen können. Jeder Job kann mehrere Kalender-Trigger haben. Wir können einen einmaligen Trigger definieren, um einen neuen Job sofort zu testen und ihn für nur wenige Sekunden in der Zukunft zu planen:

Wir können sofortiges Feedback erhalten, indem wir das FlowForce-Serverprotokoll lesen, um detaillierte Informationen zu jedem einzelnen Arbeitsschritt zu erhalten.

Der FlowForce Server ist für Windows, Linux und in Kürze auch für Mac OS verfügbar **Klicken Sie hier, um eine kostenlose Testversion herunterzuladen****