Export und Import von Laufzeitdaten über das CLI
Sie können Laufzeitdaten von Prozessen von einer INUBIT Process Engine zu einer anderen INUBIT Process Engine verschieben.
Alle der im Folgenden beschriebenen Prozesskommandos stehen sowohl im interaktiven Modus (siehe Interaktiver CLI-Modus) als auch im Skriptmodus zur Verfügung (siehe Skriptmodus des CLI). |
Überblick
Auf dem Quellsystem werden Laufzeitdaten von Prozessen exportiert.
Die Laufzeitdaten werden in ein Archiv geschrieben.
Die exportierten Prozesse werden auf dem Quellsystem angehalten.
Wurden alle Laufzeitdaten der zu verschiebenden Prozesse in das Archiv geschrieben, wird eine operationId
generiert und ausgegeben.
Diese operationId
identifiziert den gesamten Vorgang und ist für die weiteren Schritte wichtig.
Diese operationId
muss für weitere Aktionen zur Verfügung stehen.
Die Archivdatei wird auf der Process Engine abgelegt, mit dem das CLI verbunden ist. Der Pfad zur Archivdatei wird nach dem erfolgreichen Export auf die Konsole ausgegeben (siehe Laufzeitdaten vom Quellsystem über CLI exportieren).
Die im Archiv enthaltenen Laufzeitdaten der Prozesse werden in das Zielsystem importiert. Sowohl auf dem Quellsystem als auch auf dem Zielsystem existieren jetzt dieselben Prozesse, sie werden jedoch nicht ausgeführt.
Wurden alle Laufzeitdaten auf dem Zielsystem korrekt importiert, wird die Ausführung der zugehörigen Prozesse unter Angabe der operationId
fortgesetzt.
Wurden alle Prozesse erfolgreich fortgesetzt, werden die exportierten Prozesse unter Angabe der operationId
vom Quellsystem entfernt.
Anderenfalls werden die Prozesse auf dem Quellsystem unter Angabe der operationId
fortgesetzt.
Die Audit-Log-Einträge werden nicht exportiert. |
Voraussetzungen
-
Sie haben das CLI als Systemadministrator gestartet.
-
Die Modelldaten (Workflows und Module) und die Benutzer- und Benutzergruppenstruktur auf dem Quellsystem und auf dem Zielsystem müssen identisch sein.
-
Wenn Sie die Laufzeitdaten filtern wollen, z.B. um die Daten eines bestimmten Kunden zu exportieren, müssen Sie das Monitoring in der Workbench konfiguriert und die Workflows entsprechend modelliert haben, siehe Filtern der zu exportierenden Laufzeitdaten.
Beim Verschieben von Laufzeitdaten werden die folgenden Schritte ausgeführt:
-
Der Export der Laufzeitdaten für die vom Quellsystem zu verschiebenden Prozesse wird auf dem Quellsystem eingeleitet, siehe Laufzeitdaten vom Quellsystem über CLI exportieren.
-
Prozesse im Status PROCESSING werden ausgeführt, bis sie erfolgreich beendet wurden oder einen der folgenden Staus erreicht haben:
-
WAITING
-
SUSPEND
-
ERROR
-
RETRY
-
-
Prozesse im Status QUEUED werden vom Scheduler nicht ausgeführt und nicht exportiert.
Wenn sich ein Sub-Workflow im Status QUEUED befindet, wird er trotzdem exportiert, wenn sich der aufrufende Workflow im Status PROCESSING befindet und der Sub-Workflow dieselbe Process-ID hat.
-
Prozesse, deren Laufzeitdaten für den Export vorgemerkt sind, werden blockiert und nicht weiter ausgeführt.
-
-
Die Laufzeitdaten der vom Quellsystem zu verschiebenden Prozesse werden in ein ZIP-Archiv geschrieben. Das Archiv wird in das Verzeichnis
<inubit-installdir>/inubit/server/ibis_root/ibis_data/backup
auf der Process Engine gespeichert, mit der das CLI verbunden wurde.Wurde das CLI mit einem Loadbalancer verbunden, ist der ausführende Knoten nicht eindeutig. Deshalb wird der Name der Process Engine zurückgegeben, auf der das Archiv erstellt wurde. Es wird jedoch empfohlen, sich direkt mit einem Knoten zu verbinden.
-
Das ZIP-Archiv muss zu einem System transferiert werden, das vom CLI für den Import über eine Pfadangabe erreichbar ist.
-
Das ZIP-Archiv muss in das Zielsystem importiert werden, siehe Laufzeitdaten über das CLI importieren.
-
Die Ausführung der erfolgreich auf das Zielsystem importierten Prozesse mit den Laufzeitdaten kann unter Angabe der
operationId
fortgesetzt werden, siehe Blockierte Prozesse über das CLI fortsetzen. -
Wurden die Prozesse erfolgreich auf dem Zielsystem fortgesetzt, müssen sie auf dem Quellsystem unter Angabe der
operationId
gelöscht werden, siehe Blockierte Prozesse über das CLI löschen.
Anderenfalls können die Prozesse auf dem Quellsystem unter Angabe deroperationId
fortgesetzt werden, siehe Blockierte Prozesse über das CLI fortsetzen.
Filtern der zu exportierenden Laufzeitdaten
Filtern nach benutzerdefinierten Daten
Um die zu exportierenden Laufzeitdaten einzuschränken, z.B. um die Daten eines bestimmten Kunden zu exportieren, nutzen Sie die benutzerdefinierten Spalten des Queue Managers und das Variablenmapping.
Filternamen definieren
So gehen Sie vor
-
Öffnen Sie das Register Administration > Allgemeine Einstellungen > Monitoring > Benutzerdefinierte Spalten.
-
Klicken Sie in das Feld Wert in der Zeile Queue Manager: Benutzerdefinierte Spalte 1.
Sie können auch die anderen benutzerdefinierten Spalten zum Definieren von Filternamen nutzen.
-
Geben Sie den Filternamen an, z.B. tenantID.
-
Klicken Sie auf das Speichern-Icon .
Die benutzerdefinierte Spalte 1 hat den angegebenen Wert.
Um mehrere Filter zu definieren, wiederholen Sie die Schritte 2, 3 und 4. Wie Sie mehrere Filter kombinieren, siehe Kommandoreferenz: Exportieren und Importieren von Laufzeitdaten.
Filtername als Spalte anzeigen
So gehen Sie vor
-
Öffnen Sie das Register Monitoring > Queue Manager.
-
Klicken Sie mit der rechten Maustaste auf den Tabellenkopf.
-
Klicken Sie auf den Eintrag bzw. die Einträge, z.B. is_userDefined1, wenn dieser noch nicht ausgewählt ist.
Mehrere Diagrammtypen geben Sie kommasepariert und in Hochkommas eingeschlossen an
Der Name der benutzerdefinierten Spalte 1, z.B. tenantID, wird als Spalte im Queue Manager angezeigt.
Wert für einen Filternamen setzen
Sie müssen den Wert für den Filternamen über das Variablenmapping setzen.
Für jeden zu exportierenden Technical Workflow müssen Sie eine Variable setzen, die identisch zu der benutzerdefinierten Spalte benannt sein muss.
So gehen Sie vor
-
Öffnen Sie das Register Designer > Server in der INUBIT Workbench.
-
Öffnen Sie den Technical Workflow, dessen Laufzeitdaten exportiert werden sollen, zum Bearbeiten.
-
Öffnen Sie die Palette Variablen am rechten Rand der Arbeitsfläche.
-
Klicken Sie auf das Icon Neu .
-
Benennen Sie den Namen der Variablen identisch zu dem Wert, den Sie für die benutzerdefinierte Spalte zuvor definiert haben.
-
Wählen Sie als Typ
xs:string
, falls erforderlich. -
Fügen Sie gegebenenfalls einen Kommentar hinzu.
-
Klicken Sie auf OK, um die neue Variable zu speichern.
-
Öffnen Sie den Dialog Variablenmapping für das Modul, das diese Informationen für den Export benötigt, über den Kontextmenüeintrag Variablen-Mapping bearbeiten.
Welches Modul diese Informationen benötigt, hängt von Ihrem Workflow ab. Wenn Sie einen Filter definieren, um bestimmte Laufzeitdaten zu exportieren, z.B. Daten eines bestimmten Kunden, werden die Daten nur exportiert, wenn die Variable auf den erwarteten Wert gesetzt wurde, z.B. auf den Kundennamen.
Wenn die Variable für einen Prozess nicht gesetzt ist, z.B., weil er gequeuet ist, wird er nur exportiert, wenn er dieselbe Process-ID hat, wie ein anderer Prozess, für den die Variable gesetzt ist, z.B., weil er ein Sub-Process eines Prozesses ist, für den die Variable gesetzt ist. -
Wählen Sie z.B. Statischer Wert für die Quelle und setzen Sie den Wert, der zur Variablen passt.
Werte für Filternamen dürfen nur alpha-numerische Zeichen enthalten, außer zum Angeben des Pfads zu einer CSV-Datei mit Process-IDs.
-
Wählen Sie die Variable, die Sie definiert haben, um bestimmte zu exportierende Laufzeitdaten zu filtern.
-
Klicken Sie auf OK, um das Variablenmapping zu speichern.
-
Publizieren Sie den Workflow.
Das Variablenmapping ist dem Modul zugewiesen und es hat ein V icon an der linken unteren Ecke.
Filtern nach ProcessIDs
Sie können die zu exportierenden Laufzeitdaten einschränken, indem Sie nur Daten bestimmter ProcessIDs exportieren.
Voraussetzungen
Sie kennen die ProcessIDs für die die Laufzeitdaten exportiert werden sollen.
So gehen Sie vor
-
Erzeugen Sie eine ProcessIDs-Datei (Textdatei), welche die durch Kommas getrennten ProcessIDs enthält, für die die Laufzeitdaten exportiert werden sollen.
Beispielinhalt einer ProcessIDs-Datei:100, 101, 102, 103, 104, 105, 106, 107
-
Starten Sie den Laufzeitdaten-Export mit der option
--filterProcessIds <pathToProcessIdFile>
mitpathToProcessIdFile
als vollständigen Pfad zur erzeugten Textdatei mit den ProcessIDs (siehe Laufzeitdaten vom Quellsystem über CLI exportieren).
Das System-
liest die Textdatei mit den ProcessIDs,
-
blockiert die darin gelisteten Prozesse,
-
schreibt die Laufzeitdaten dieser Prozesse in das Exportarchiv,
-
gibt die OperationID zurück.
Für alle nicht existierenden Prozesse aus der ProcessIDs-Datei erscheint eine Warnung imTrace Log.
-
Laufzeitdaten vom Quellsystem über CLI exportieren
Voraussetzungen
Der Benutzer hat das Recht Configuration.
Aufruf
-
Interaktiver Modus
startcli [-u <user account>] [-p <password>] ... process export {<absolute path>|<archive file name>} [--filterExpression <expression>] [--filterProcessIds <pathToProcessIdFile>]
-
Skriptmodus
startcli [-u <user account>] [-p <password>] --execCommand "process export <archive filename> [--filterExpression <expression>] [--filterProcessIds <pathToProcessIdFile>]"
Parameter
-
absolute path
absoluter Pfad zur Archivdatei -
archive file name
Name der Archivdatei.
Die Datei wird in das Verzeichnis<inubit-installdir>/inubit/server/ibis_root/ibis_data/backup
gespeichert. -
expression
Filterbedingungen, siehe Kommandoreferenz: Exportieren und Importieren von Laufzeitdaten
Die operationId
sowie der Dateipfad werden zurückgegeben, wenn das Kommando beendet ist.
Das Exportarchiv hat dieselbe Struktur wie das Backuparchiv.
Beispiel
-
Interaktiver Modus
process export export_2015_08_04.zip --filterExpression 'tenantID=Virtimo AND location in (Berlin, Hamburg)'
-
Skriptmodus
startcli -u jh -p inubit --execCommand "process export export_2015_08_04.zip --filterExpression 'tenantID=Virtimo AND location in (Berlin, Hamburg)'"
Zurückgegebener Text
Wurden die Laufzeitdaten erfolgreich exportiert, werden die folgenden Informationen zurückgegeben:
Runtime data export was successful!
The export file is located at: C:\inubit\server\Tomcat\bin\..\..\ibis_root\ibis_data\backup\export_2015_08_04.zip
Operation ID is: c85cb4a7-36e3-4b97-a585-105b6c056b4a
Blockierte Prozesse über das CLI anzeigen
Voraussetzungen
Der Benutzer hat das Recht Configuration.
Aufruf
process listBlocked <operationId>
Benutzen Sie dieses Kommando, um die mit einer bestimmten operationId
exportierten oder importierten und blockierten Prozesse anzuzeigen.
Laufzeitdaten über das CLI importieren
Voraussetzungen
-
Das Archiv muss vom Import-CLI über einen Dateipfad erreichbar sein.
-
Der Benutzer hat das Recht Configuration.
Aufruf
process import <archive file path>
Nachdem Import starten die Prozesse nicht automatisch.
Sie müssen mit dem Kommando process resume <operationId>
fortgesetzt werden, siehe Blockierte Prozesse über das CLI fortsetzen.
Nachdem die importierten Prozesse auf dem Zielsystem gestartet wurden, müssen sie auf dem Quellsystem mit dem Kommando process deleteBlocked <operationId>
gelöscht werden, siehe Blockierte Prozesse über das CLI löschen.
Anderenfalls setzen Sie die blockierten Prozesse auf dem Quellsystem fort, siehe Blockierte Prozesse über das CLI fortsetzen.
Blockierte Prozesse über das CLI fortsetzen
Voraussetzungen
Der Benutzer hat das Recht Configuration.
Aufruf
process resume <operationId>
Benutzen Sie dieses Kommando um mit einer bestimmten operationId
blockierte Prozesse auf dem Zielsystem fortzusetzen oder setzen Sie damit diese Prozesse im Fehlerfall auf dem Quellsystem fort.
Blockierte Prozesse über das CLI löschen
Voraussetzungen
-
Alle Prozesse wurden anhand einer bestimmten
operationId
erfolgreich fortgesetzt. -
Der Benutzer hat das Recht Configuration.
Aufruf
process deleteBlocked <operationId>
Benutzen Sie dieses Kommando zum Löschen blockierter Prozesse mit einer bestimmten operationId
auf dem Quellsystem oder im Fehlerfall auf dem Zielsystem.
Kommandoreferenz: Exportieren und Importieren von Laufzeitdaten
Aufruf
process export {<absolute path>|<file name>}
[--excludeModel]
[--filterExpression <expression>|
--filterProcessIds {<absolute path>|<file name>}]
import <file path>
deleteBlocked <operation ID>
listBlocked <operation ID>
resume <operationId>
Um diese Hilfe auszugeben, können Sie eines der folgenden beiden Kommandos nutzen:
process -h
process --help
Alle Prozesskommandos stehen auch im Skriptmodus zur Verfügung, siehe Skriptmodus des CLI.
Kommandooptionen
Option | Bedeutung | ||
---|---|---|---|
|
Exportieren der Laufzeitdaten in das angegebene ZIP-Archiv |
||
|
Exportieren von Laufzeitdaten in das angegebene ZIP-Archiv im Verzeichnis |
||
|
Modelldaten wie Diagramme und Module werden nicht exportiert |
||
|
Optional: Filtern der zu exportierende Laufzeitdaten
|
||
|
Importieren der Laufzeitdaten aus dem angegebene Archiv |
||
|
Löschender blockierten Prozesse und Laufzeitdaten anhand einer bestimmten |
||
|
Auflisten der blockierten Prozesse anhand einer bestimmten |
||
|
Fortsetzen der blockierten Prozesse anhand einer bestimmten |
||
|
Überprüfen der ZIP-Datei des Laufzeitdaten-Exports |
Beispiel
process export myExport.zip --filterExpression 'location in (Bangalore, Berlin) AND countryName inFile /tmp/countryName.txt'