Skip to content

Kinder

Jedes Ablaufobjekt (Batch, Milestone oder Job) kann zu einem anderen Ablaufobjekt in einer Eltern-Kind-Beziehung stehen. Wenn ein Master zur Ausführung gebracht (submitted) wird, werden rekursiv auch alle seine statischen Kinder und deren Kinder in einer Transaktion submitted.

Im Bereich Kinder werden alle Ausführungsobjekte als Liste angezeigt, die als Kind des aktuellen Objektes definiert wurden. Mit Kopieren und Einfügen können weitere Objekte als Kinder hinzugefügt werden. Eine Reihenfolge der Ausführung der Kinder ist nicht festgelegt, sie kann aber über die Abhängigkeiten festgelegt werden.

Diese Liste enthält alle Job-, Milestone- und Batch-Objekte, die dem im Editor ausgewählten Job als Kinder untergeordnet sind. Eine alternative Möglichkeit der Bearbeitung von Kindern eines Ablaufobjektes ist in der graphischen Darstellung der Hierarchie gegeben.

Definitions Editor 4

Die Spalten der Liste haben folgende Bedeutung:

Wählen

Um einzelne vorhandene Kinder zu Kopieren, Ausschneiden oder zu Löschen, aktivieren Sie die Checkbox der jeweiligen Zeile und wählen dann die entsprechende Operation unterhalb der Liste aus.

Kind Name

Hier finden Sie den Namen des Kindes, dieser wird ohne den Ordner-Pfad angezeigt. Das voran gestellte Icon dient der Unterscheidung zwischen Job, Batch und Milestone. Wenn Sie den Mauszeiger über den Namen bewegen, erscheint der vollständige Pfad. Über das vorangestellte Auswahlsymbol Wählen kann ein Popup aufgerufen werden, um ein anderes Ablaufobjekt auszuwählen.

Alias

Mit dem Alias kann einem Kind eine neue logische Benennung zugeordnet werden. Diese Benennung muss innerhalb aller Kinder des ausgewählten Ablaufobjektes eindeutig sein. Der Alias ist nur bei dynamischen Kindern von Bedeutung. Das Eltern-Objekt kann beim Submitten durch Angabe des Alias weitere Instanzen der Kinder erzeugen. Damit benötigt der Code, welcher die dynamischen Kinder erzeugt, kein Wissen über die Position des Kindes in der Ordner-Struktur. Durch diese Abstraktion werden Umstrukturierungen der Ordnerstruktur erheblich vereinfacht, da kein Code angepasst werden muss.

Statisch

Die Checkbox Statisch gibt an, ob ein Kind statisch oder dynamisch submitted wird. Handelt es sich um ein statisches Kind, wird das Laufzeitobjekt für dieses Kind schon beim Submit des Eltern-Objektes instanziiert. Handelt es sich um ein dynamisches Kind (die Checkbox Statisch ist nicht gesetzt), können eine oder mehrere Instanzen des Kindes zur Laufzeit vom Eltern-Ablaufobjekt (das im aktuellen Tab geöffnete Ablaufobjekt) selbst dynamisch erzeugt werden. Dazu verbindet sich der für dieses Ablaufobjekt ausgeführte Job mit dem Scheduling Server und führt ein oder mehrere Submit-Kommandos aus. Damit sind dynamische Kinder im Wesentlichen nur für Ablaufobjekte vom Typ Job sinnvoll.

Dynamische Kinder werden häufig bei Parallelisierungsaufgaben verwendet. Hier wird erst zur Laufzeit vom Ausführungsprogramm entschieden, ob und wie viele dynamische Kinder erzeugt und über das BICsuite-API dynamisch submitted werden sollen. Hiermit ist eine beliebige Aufteilung eines Prozesses in viele parallel arbeitende Teilprozesse möglich.

Für Kinder von Ablaufobjekten vom Typ BATCH ist die Checkbox als gesetzt (statisch) vorbelegt.

Nice Wert

Der Nice Wert ist ein Offset, der auf die Priorität aller seiner Kinder addiert wird. Beispiel: Hat der Prozess einen Nice Wert von -50 und das Kind hat eine Priorität von 100, hat das Laufzeitobjekt des Kindes eine Priorität von 50. Wird der Kind-Prozess alleine gestartet, hat er eine Priorität von 100. Handelt es sich beim Eltern-Objekt um einen Batch, wird der Nice Wert zum Nice Wert des übergeordneten Batches addiert.

Exit Status Übersetzung

In dieser Auswahlmaske kann die Exit Status Übersetzung ausgewählt werden, die verwendet wird, um dem Eltern-Objekt den Exit Status des Kind-Objektes mitzuteilen. Mehr zu Exit Status Übersetzungen finden Sie im Kapitel Exit State Translations.

Deaktiviert

Ist die Checkbox Deaktiviert gesetzt, wird das Kind deaktiviert zur Ausführung gebracht. Alle Kinder eines deaktiviert zur Ausführung gebrachten Laufzeitobjektes werden ebenfalls deaktiviert submitted. Deaktivierte Jobs werden nicht von einem Job Server (Agent) ausgeführt, sondern gehen direkt in ihren Default Exit State, wenn alle ihre Abhängigkeiten erfüllt sind. Ist in der Definition des Exit State Profiles ein Deaktiviert-Status gesetzt, wird dieser anstelle des Default Exit Status verwendet.

Damit ist es möglich, einzelne Jobs oder Batches einer Verarbeitungskette von der Verarbeitung auszuschließen und dabei die Abhängigkeitsbeziehungen und die Verarbeitungsreihenfolge der Verarbeitungskette zu erhalten.

Aktivierungsintervall

Optional kann ein Intervall ausgewählt werden. Ist dies der Fall, wird beim Submit des Kindes geprüft, ob der Submit-Zeitpunkt des Masters ein gültiger Zeitpunkt für dieses Intervall ist. Ist dies nicht der Fall, wird das Kind deaktiviert submitted.

Bedingungsmodus

Wird im Feld Aktivierungsbedingung eine Bedingung eingegeben, so wird diese beim Submit des Kindes geprüft. Falls eine Bedingung eingegeben wurde, können Sie mittels des Bedingungsmodus festlegen, ob die Bedingung mit einem evtl. gesetzten Intervall AND oder OR verknüpft werden soll. Ist die Bedingung nicht erfüllt, so wird das Kind deaktiviert ausgeführt. Der Bedingungs-Modus AND legt fest, dass eine vorhandene Bedingung und das Aktivierungsintervall (falls ausgewählt) gültig sein müssen, damit das Kind aktiviert zur Ausführung gebracht wird. Beim Bedingungsmodus OR wird der Job nur deaktivert, wenn sowohl das Intervall als auch die Bedingung nicht erfüllt sind.

Aktivierungsbedingung

Eine optionale Bedingung, die zum Zeitpunkt des Submits bestimmt, ob das Ablaufobjekt aktiviert und ausgeführt werden soll oder - falls die Bedingung nicht erfüllt ist - deaktiviert wird. In diesem Fall wird das Ablaufobjekt nicht ausgeführt.

Angehalten ausführen

Der Parameter gibt an, ob das Kind sofort gestartet werden kann oder ob dies verzögert erfolgen soll. Es gibt folgende Optionen:

  • YES
    Das Kind wird angehalten zur Ausführung gebracht.

  • NO
    Das Kind wird beim Submit nicht angehalten, sondern kann sofort starten.

  • CHILDSUSPEND
    Ob das Kind angehalten wird oder nicht, hängt vom Feld Angehalten ausführen in der Definition des Kind-Ablaufobjektes ab. Das heißt, je nachdem, wie die Einstellung im Kind definiert wurde, wird diese übernommen.

Automatisches Fortsetzen

Das Feld wird nur angezeigt, wenn das Feld Angehalten ausführen auf die Option YES gesetzt wurde. Hier kann ausgewählt werden, ob ein automatisches Fortsetzen stattfinden soll.

Es gibt folgende Möglichkeiten:

  • NO
    Wählt diese Funktionalität ab. Das Kind muss manuell von einem Operator fortgesetzt werden.

  • AT
    Wählt eine automatische Fortführung zu einem festen Zeitpunkt.

  • IN
    Die Fortsetzung erfolgt nach einem definierten Zeitraum.

Fortsetzen um

Wird nur angezeigt, falls im Feld Automatisches Fortsetzen die Option AT gewählt wurde. Hier wird der gewünschte Zeitpunkt der Fortführung im Format ”YYYY-MM-DDTHH:MI:SS” eingegeben. Das Format orientiert sich an der ISO Norm 8601 und erlaubt auch unvollständige Angaben. Die Eingabe von ’T16:00’ wird den Job um 16:00 Uhr fortführen (ausgehend von der beim Submit des Masters gewählten Zeitzone).

Fortsetzen in

Wird nur angezeigt, falls im Feld Automatisches Fortsetzen die Option IN gewählt wurde. Hier wird angegeben, wie viele Zeiteinheiten (siehe Einheit) das System bis zur Fortsetzung warten soll.

Einheit

Wird nur angezeigt, wenn im Feld Automatisches Fortsetzen die Option IN gewählt wurde. Hier wird eingegeben, ob es sich bei der Eingabe um Minuten (MINUTE), Stunden (HOUR), oder Tage (DAY) handeln soll.

Ignorierte Abhängigkeiten

Standardmäßig erben alle Kinder eines Ablaufobjektes dessen Abhängigkeiten. Das bedeutet, dass kein Kind eines Ablaufobjektes starten kann, bevor die Abhängigkeiten des Eltern-Ablaufobjektes erfüllt sind. In Ausnahmefällen kann es sinnvoll sein, dass eines oder mehrere Kinder starten können, bevor dies der Fall ist. Um dies zu ermöglichen, können die Abhängigkeiten des Eltern-Ablaufobjektes mit einem Abhängigkeitsnamen versehen werden.

Im Feld Ignorierte Abhängigkeiten kann eine komma-getrennte Liste von Abhängigkeitsnamen eingegeben werden, welche innerhalb dieser Eltern-Kind-Beziehung vom Kind ignoriert werden sollen. All diese Abhängigkeiten werden nun für das Kind nicht mehr berücksichtigt und das Kind kann gestartet werden, ohne dass die Abhängigkeiten des Eltern-Objektes vollständig erfüllt sind.

Mischmodus

Der Mischmodus gibt an, wie mit dem Ablaufobjekt umgegangen werden soll, falls es innerhalb eines Master Ablaufs mehrfach enthalten ist. Wird MERGE LOCAL oder MERGE GLOBAL gewählt, so wird während des Submit-Vorgangs des Kindes geprüft, ob das Kind-Ablaufobjekt im aktuellen Ablauf bereits existiert. Ist dies der Fall, so wird kein neues Ablaufobjekt für das Kind erzeugt, sondern das bereits vorhandene als Kind des Eltern Ablaufobjektes in den Ablauf eingebunden. Damit ist es möglich, unnötige mehrfache Ausführungen von Ablaufobjekten zu vermeiden. Die vom Eltern-Ablaufobjekt geerbten Abhängigkeiten werden in diesem Fall auch vom bereits existierenden Ablaufobjekt berücksichtigt.

Achtung

Die Reihenfolge, in der beim Submit eines Ablaufs die Kinder von Ablaufobjekten erzeugt werden, ist NICHT definiert! Dies führt dazu, dass nicht bekannt ist, welches der zusammenzufassenden Ablaufobjekte als erstes im Ablauf submitted wird. Die Auflösung von Parametern und die Auswertung der Aktivierungsbedingung findet im Kontext des Eltern Ablaufobjektes statt, welches als "erstes" submitted worden ist. Werden Parameter und Ablaufbedingungen verwendet, welche sich je nach Elternobjekt unterscheiden, kann dies zu nicht vorhersehbarem Verhalten führen. Durch die Vererbung von Abhängigkeiten kann es auch zu nicht erkannten zyklischen Abhängigkeiten kommen, welche zu einer Verklemmung des Ablaufs führen können.

Folgende Optionen stehen zur Auswahl:

  • NOMERGE
    Es erfolgt keine Zusammenfassung von Jobs. Der Kind-Job wird gestartet ohne Berücksichtigung, ob dieser Job im aktuellen Master Batch bereits existiert.

  • FAILURE
    Zur Submit-Zeit des Jobs wird geprüft, ob der Kind-Job im aktuellen Ablauf bereits existiert. Falls dies der Fall ist, wird eine Fehlermeldung ausgegeben und der Start des Master Jobs wird abgebrochen.

  • MERGE LOCAL
    Die Suche nach einem bereits zur Ausführung gebrachten Ablaufobjektes findet unterhalb des Eltern-Ablaufobjekts statt.

  • MERGE GLOBAL
    Die Suche nach einem bereits zur Ausführung gebrachten Ablaufobjektes findet innerhalb es gesamten (Master) Ablaufs statt.