Skip to content

Batches und Jobs

Jedes Scheduling Entity (Batch, Milestone oder Job) kann in einer Eltern-Kind-Hierarchie in einem Batch-Lauf stehen. Ein Job wird gestartet, wenn seine eigenen Abhängigkeiten und die seiner übergeordneten Ausführungsobjekte erfüllt sind und seine angeforderten Ressourcen zur Verfügung stehen. Das bedeutet, beim Submit einer solchen Ausführungsobjekt-Hierarchie, werden alle Jobs von oben nach unten submitted. Dies geschieht jedoch innerhalb einer Transaktion, sodass alle Aktionen, von außen gesehen, gleichzeitig erfolgen.

Abhängigkeiten

Jedes Ablaufobjekt (Batch, Milestone oder Job) kann Abhängigkeiten besitzen. Eine Abhängigkeit beschreibt, welches Ausführungsobjekt (required Job) vorher gelaufen sein muss. Soll nur ein bestimmter Exit Status beachtet werden, kann der abhängige (dependent) Job erst starten, wenn der benötigte (required) Job vollständig gelaufen ist und den richtigen Exit Status zurückgemeldet hat. Hiermit sind Abhängigkeitsmodelle möglich, die sicherstellen, dass wirklich alle Vorarbeiten erfolgreich durchgeführt werden konnten, um einen nachfolgenden Prozess (z. B. einen Report) zu starten.

Ressourcen

Jedes Ablaufobjekt kann verschiedene Ressourcen benötigen. Diese können durch die Eingabe des Environments, eines Footprints und durch die Benennung der benötigten Ressourcen festgelegt werden. Dies stellt sicher, dass alle benötigten Ressourcen (z. B. genügend Hauptspeicher, genügend CPU Einheiten, richtige Datenbank, benötigte Systemprogramme etc.) der zur Ausführung des Jobs verwendeten Laufzeitumgebung zur Verfügung stehen.

Darüberhinaus kann mittels synchronisierender Ressourcen sichergestellt werden, dass sich Prozesse nicht gegenseitig behindern oder dass sich Ressourcen in bestimmten Status befinden und zeitlich aktuell sind.

Über die Ressourcen kann darüber hinaus eine Lastverteilung erreicht werden. Sie finden zwei Beispiele für Lastverteilung mit Sticky Resources im Kapitel Designer / Batches and Jobs / Editor für Job Definitionen / Benötigte Ressourcen / Sticky.

Parameter

Jedes Ablaufobjekt kann bestimmte Parameter definieren oder verwenden. Hiermit ist eine Datenübergabe zwischen einzelnen Jobs bzw. aus der Laufzeitumgebung möglich. Die Parameterübergabe kann innerhalb der Eltern-Kind-Beziehung in beide Richtungen (vom Eltern zum Kind und umgekehrt vom Kind zum Eltern) erfolgen. Es ist aber auch möglich, auf Parameter von Ablaufobjekten zuzugreifen, welche sich außerhalb der Eltern-Kind-Beziehung befinden. Hiermit ist eine übergreifende Datenübermittlung zwischen allen Ablaufobjekten eines Master Jobs möglich. Weitere Informationen zu Parametern finden Sie im Kapitel Designer / Batches and Jobs / Editor für Job Definitionen / Parameter.

Trigger

Für ein Ablaufobjekt können beim Eintritt eines bestimmten Ereignisses (zum Beispiel Beendigung des Jobs) und beim Erreichen bestimmter Exit States, Aktionen definiert werden. Diese Aktionen werden Trigger genannt. Ein Trigger definiert, welche Aktion beim Eintreten eines bestimmten Ereignisses ausgeführt werden soll. Die Aktion, die ausgelöst wird, ist wieder ein Ausführungsobjekt.

Tritt der Fall ein, dass dieser Trigger ausgelöst wird (er feuert), so wird dieser Job (oder Batch) submitted. Damit kann zum Beispiel eine Benachrichtigung an einen Systemadministrator erfolgen.