Zschimmer GmbH Impressum und Kontakt

Job Scheduler     Erste Seite   –   Konfiguration in XML

  XML     API     Register


logo

XML-Element  <job_chain>     (Konfiguration)

<job_chain
distributed  = "yes|no"
name  = "name"
orders_recoverable  = "yes|no"
title  = "String"
visible  = "yes|no"
>
<file_order_source ...>
Dateiauftragsquelle
<job_chain_node ...>
Jobkettenknoten
<file_order_sink ...>
Dateiauftragssenke
<job_chain_node.job_chain ...>
Jobkettenknoten
<job_chain_node.end ...>
Ende einer Jobkette

</job_chain>

 

Führt eine neue Jobkette (siehe Klasse Job_chain) ein.

Siehe Aufträge, Job_chain, Spooler.create_job_chain() und Spooler.add_job_chain()

Einfache Jobkette - Eine Kette von Jobs

Einfache Jobketten enthalten Jobs und werden mit den XML-Elementen <job_chain_node>, <file_order_source> und <file_order_sink> beschrieben.

Übergeordente Jobkette - Eine Kette von Jobketten

Übergeordnete Jobketten verweisen auf andere Jobketten und werden mit den XML-Elementen <job_chain_node.job_chain>. <job_chain_node.end> beschrieben. Die aufgeführten Jobketten müssen einfache Jobketten sein.

Übergeordnete Jobketten arbeiten nicht mit verteilten Aufträgen.

Beispiel  

<job_chains>
    <job_chain name="Kette_A">
        <job_chain_node state=  "1" job="job_a" next_state=  "2" error_state="999" />            
        <job_chain_node state=  "2" job="job_b" next_state="100" error_state="999" />            
        <job_chain_node state="100" />
        <job_chain_node state="999" />
    </job_chain>
</job_chains>
Das ist dasselbe wie folgendes Scheduler-Skript:
<script language="javascript"><![CDATA[
    var job_chain = spooler.create_job_chain();
        job_chain.name = "Kette_A";
        job_chain.add_job( "job_a", 1,   2, 999 );
        job_chain.add_job( "job_b", 2, 100, 999 );
        job_chain.add_end_state( 100 );
        job_chain.add_end_state( 999 );
    spooler.add_job_chain( job_chain );
]]></script>

Beispiel  

<job_chains>
    <job_chain name="superchain">
        <job_chain_node.job_chain state="A" job_chain="job_chain_a" 
                                  next_state="B" error_state="ERROR" />            
        <job_chain_node.job_chain state="B" job_chain="job_chain_b" 
                                  next_state="OK" error_state="ERROR" />            
        <job_chain_node.end state="OK" />
        <job_chain_node.end state="ERROR" />
    </job_chain>
</job_chains>

Verhalten mit <base>

<job_chain> darf nicht angegeben werden, wenn es bereits in der Basiskonfiguration steht.

<job_chain name="Name"> mit verschiedenen Namen können hinzugefügt werden.

Eltern-Elemente

<job_chains>  

  – Jobketten

Attribute

name="name" 

Name der Jobkette. Jede Jobkette kann nur einmal definiert werden.

visible="yes|no" (Initialwert: yes)    

visible="no" und visible="never" lassen die Jobkette im Ergebnis von <show_job_chains> und <show_state> unsichtbar.

Bei visible="no" setzt der Scheduler die Jobkette sichtbar, sobald eine Task eingereiht wird. Bei visible="never" ist das nicht der Fall.

orders_recoverable="yes|no" (Initialwert: yes)    

orders_recoverable="yes"

Der Scheduler hält die Aufträge in der Datenbank. Sobald ein Auftrag in die Auftragswarteschlange eines Jobs eingereiht wird, speichert der Scheduler ihn auch in der Datenbank. Wenn der Auftrag die Jobkette durchlaufen hat, wird er aus der Datenbank entfernt.

Beim Einrichten der Jobkette (beim Start des Schedulers) lädt der Scheduler die Aufträge aus der Datenbank. Siehe Spooler.add_job_chain().

Wirkungslos, wenn der Scheduler ohne Datenbank arbeitet, siehe factory.ini (Abschnitt [spooler], Eintrag db=…).

orders_recoverable="no"

Der Scheduler hält nicht die Aufträge in der Datenbank und lädt sie auch nicht daraus.

Siehe Datenbank.

distributed="yes|no" (Initialwert: no)    

Wirkt nur mit der Kommandozeilenoption -distributed-orders und lässt die Aufträge von mehreren Schedulern verteilt ausführen.

distributed="no" lässt die Jobkette nicht verteilt, sondern nur auf diesem Scheduler ausführen, wie bei einem nicht-verteiltem Scheduler. Der Name der Jobkette muss in diesem Fall im Cluster eindeutig sein (das wird nicht geprüft).

title="String" 

Der Jobkette kann ein Titel gegeben werden.

Siehe auch Job_chain.title.

Kind-Elemente

<file_order_source>  

  – Dateiauftragsquelle

<file_order_source> kann wiederholt werden.

<job_chain_node>  

  – Jobkettenknoten

<job_chain_node> kann wiederholt werden.

<file_order_sink>  

  – Dateiauftragssenke

<file_order_sink> kann wiederholt werden.

<job_chain_node.job_chain>  

  – Jobkettenknoten

<job_chain_node.job_chain> kann wiederholt werden.

<job_chain_node.end>  

  – Ende einer Jobkette

<job_chain_node.end> kann wiederholt werden.


Software- und Organisations-Service GmbH

Zuletzt geändert von Joacim Zschimmer, 2008-04-29