Geparkte Jobs
Es gibt die Möglichkeit einen Job während seiner Verarbeitung zu parken und zu einem späteren Zeitpunkt die Verarbeitung erneut von vorne zu beginnen. Dazu kann die Funktion abort job and schedule again after x seconds verwendet werden. Wird diese Funktion im Profil aufgerufen, dann unterbricht der Job seine Verarbeitung. Da sich der Job zu diesem Zeitpunkt in der Phase 3 (Mapping) befindet, werden alle nachfolgenden Phasen innerhalb des Jobs nicht mehr ausgeführt. Nach der im Funktionsaufruf angegebenen Anzahl von Sekunden startet der Job seine Verarbeitung erneut.
Die Funktion counter of scheduled retries liefert die Anzahl der Wiederanläufe, die durch die obige Funktion initiiert wurden. Dadurch ist es möglich nach einer definierten Anzahl von Wiederholungsversuchen den Job komplett abzubrechen.
Ein Beispiel für das Parken eines Jobs ist das folgende Szenario.
Ein Profil soll Aufträge verarbeiten, die anhand einer Auftragsnummer serialisiert sind. Die Aufträge sollen in der richtigen Reihenfolge verarbeitet werden. Das heißt, der Auftrag mit der Nummer 10 muss nach dem Auftrag mit der Nummer 9 verarbeitet werden.
Das Profil hat einen zeitgesteuerten Eingangsagenten, der zu definierten Zeitpunkten Dateien aus einem Verzeichnis liest. Für jede Datei, die sich im Verzeichnis befindet und die dem Dateimuster entspricht, wird ein Job gestartet. Während des Mappings prüft der jeweilige Job, ob der von ihm in Arbeit befindliche Auftrag verarbeitet werden kann. Dies kann z. B. durch eine Datenbankabfrage geschehen. Stellt der Job dabei fest, dass der Auftrag noch nicht verarbeitet werden kann, dann ruft er die Funktion abort job and schedule again after x seconds auf und beendet somit vorerst die Verarbeitung.
Nach der im Funktionsaufruf angegebenen Anzahl von Sekunden startet der Job seine Verarbeitung erneut mit den bereits gespeicherten Eingangsdaten. Wurden die vorher fehlenden Aufträge in der Zwischenzeit verarbeitet, dann führt der Job seine Verarbeitung bis zum Ende aus.
Trifft ein fehlender Auftrag nie ein, dann führt dies dazu, dass die bereits gestarteten Jobs immer wieder geparkt werden, mit der Verarbeitung neu beginnen und niemals abschließen. Durch den Aufruf der Funktion counter of scheduled retries kann die Verarbeitung des Jobs aber nach einer definierten Anzahl von Wiederholungen endgültig abgebrochen werden, z. B. mit der Funktion abort execution(a, b) oder throw exception(a).
Einstellungen
(1) Liste unten: Die Eingangsdatei des geparkten Jobs kann über das Kontextmenü angesehen, heruntergeladen und gelöscht werden.
(2) Profil: Der Name des Profils des geparkten Jobs. Im Filterfeld kann der Platzhalter "*" verwendet werden, z. B. "Company*AS2*send".
(3) Nächster Start: Der Zeitpunkt, zu dem das Parken ausläuft und der Job erneut automatisch gestartet werden wird.