Zschimmer GmbH Impressum und Kontakt

Job Scheduler     Erste Seite   –   Konfiguration in XML

  XML     API     Register


logo

XML-Element  <run_time>     (Konfiguration)

<run_time
begin  = "hh:mm[:ss]"
end  = "hh:mm[:ss]"
let_run  = "yes_no"
once  = "yes_no"
repeat  = "hh:mm[:ss] oder sekunden"
schedule  = "" Abzurufender Zeitplan
single_start  = "hh:mm[:ss]"
start_time_function  = "name"
when_holiday  = ""
>
<period ...>
Periode
<at ...>
Startzeitpunkt
<date ...>
Perioden für ein bestimmtes Datum
<weekdays ...>
Perioden für bestimmte Wochentage
<month ...>
Perioden für einen Monat
<monthdays ...>
Perioden für bestimmte Tage des Monats
<ultimos ...>
Perioden für bestimmte Tage des Monats, vom Ende her gezählt
<holidays ...>
Feiertage

</run_time>

 

<run_time> gibt an, zu welchen Zeiten der Scheduler Tasks dieses Jobs laufen lässt. Das wird realisiert durch Perioden (s. <period>). Der Scheduler wählt die erste Periode aus, die zu einer Zeit gilt (deren Ende noch nicht abgelaufen ist). Diese Periode gilt bis zu ihrem Ende. Dann wählt der Scheduler erneut eine Periode aus.

Eine Periode mit single_start gilt nur für einen Zeitpunkt.

<show_calendar> zeigt das Ergebnis.

Sommer- und Winterzeit

Der Scheduler berücksichtigt die Zeitumstellung zu Beginn und Ende der Sommerzeit. Es gilt stets die lokale Zeit.  

Ein Job, der eine Startzeit zwischen 2 und 3 Uhr hat, kann zum Ende der Sommerzeit zweimal gestartet werden.

Verkürzte Schreibweise mit <period> und den Attributen begin=, end=, repeat=, let_run=, single_start= und when_holiday=

<period> innerhalb von <run_time> werden verwendet für die Elemente <date>, <weekdays>, <monthdays> und <ultimos>, wenn diese keine eigenen <period> haben. Ausgenommen ist also <month>.

<run_time>
    <period begin="07:00" end="09:00"/>
    <monthdays>
        <day day="1"/>
        <day day="2">
            <period begin="22:00" end="23:00"/>
        </day>
    </monthdays>
</run_time>

wird zu

<run_time>
    <monthdays>
        <day day="1">
            <period begin="07:00" end="09:00"/>
        </day>
        <day day="2">
            <period begin="22:00" end="23:00"/>
        </day>
    </monthdays>
</run_time>

Wenn dagegen keins der Elemente <date>, <weekdays>, <monthdays> und <ultimos> aufgeführt ist, gelten die <period> für jeden Tag der Woche.

Die Attribute begin=, end=, repeat=, let_run= und single_start= wirken, wenn kein <period> angegeben ist, und lassen den Scheduler eins mit denselben Attributen erzeugen.

<run_time begin="07:00" end="09:00"/>

wird zu

<run_time>
    <period begin="07:00" end="09:00"/>
<run_time>

Beispiel  

<run_time/>
ist, wegen der Voreinstellungen für begin= und end=, dasselbe wie
<run_time begin="00:00" end="24:00"/>
ist, weil <run_time> leer ist, dasselbe wie
<run_time>
    <period begin="00:00" end="24:00"/>
</run_time>
also eine Periode für jeden Tag rund um die Uhr. Der Job kann immer laufen.

Eltern-Elemente

<job>  

  – Definition eines Jobs

<add_order>  

  – Auftrag hinzufügen

<order>  

  – Auftrag

Attribute

schedule="" Abzurufender Zeitplan

Gibt den benannten <schedule> an, der verwendet werden soll.

Alle anderen Attribute und Kindelement werden nicht beachtet.

start_time_function="name" 

Gibt gibt den Namen einer Funktion im Scheduler-Skript an, die die nächste Startzeit liefert.

Der Scheduler übergibt der Funktion im ersten Parameter den Zeitpunkt, ab dem sie eine Startzeit liefern soll, als Zeichenkette im Format "yyyy-mm-dd HH:MM:SS".

Im zweiten Parameter erhält die Funktion den Jobnamen bzw. die Auftragskennung.

Rückgabe der Funktion ist ein Zeitpunkt, der nicht vor dem ersten Parameter liegen darf, oder nichts (d.h. "" oder Empty). Der Scheduler erwartet als Rückgabe eine Zeichenkette im Format "yyyy-mm-dd hh:mm:ss".

Meldungen

[ERROR] SCHEDULER-393 Error when calling <run_time> function '(1) ': (2)  
[warn] SCHEDULER-394 <run_time>-Function '(1) ' returned start time (2) which is earlier than the requested beginning (3)  

once="yes_no" (Initialwert: no)    

Bei once="yes" startet der Scheduler den Job einmal nach Start des Schedulers, sobald die <run_time> dies zulässt.

begin="hh:mm[:ss]" (Initialwert: 00:00)    

Wenn das Element leer ist (also kein <period> enthält), generiert der Scheduler eine Periode mit dieser Einstellung, andernfalls ist es die Voreinstellung für die Kind-Elemente (siehe oben Verkürzte Schreibweise).

end="hh:mm[:ss]" (Initialwert: 24:00)    

Wenn das Element leer ist (also kein <period> enthält), generiert der Scheduler eine Periode mit dieser Einstellung, andernfalls ist es die Voreinstellung für die Kind-Elemente (siehe oben Verkürzte Schreibweise).

repeat="hh:mm[:ss] oder sekunden" 

Wenn das Element leer ist (also kein <period> enthält), generiert der Scheduler eine Periode mit dieser Einstellung, andernfalls ist es die Voreinstellung für die Kind-Elemente (siehe oben Verkürzte Schreibweise).

single_start="hh:mm[:ss]" 

Wenn das Element leer ist (also kein <period> enthält), generiert der Scheduler eine Periode mit dieser Einstellung, andernfalls ist es die Voreinstellung für die Kind-Elemente (siehe oben Verkürzte Schreibweise).

let_run="yes_no" 

Hiermit wird bestimmt, ob ein laufender Task nach Ablauf einer Periode weitere Process-Schritte ausführen soll oder nicht. Per Default führt ein Job keine weiteren Process-Schritte mit Ablauf der Periode aus und wird beendet (let_run="no").

Für auftragsgesteuerte Jobs gilt:
Wenn ein auftragsgesteuerter Job eine Periode definiert (z.B. 12:00 - 14:00) und während dieser Periode ein Auftrag eintrifft, wird der Auftrag ausgeführt. Nach Beendigung der Ausführung entscheidet der Wert für idle_timeout, ob die Task gestartet bleibt und mögliche weitere Aufträge entgegennimmt. Wenn die Task gestartet bleibt und einen Auftrag entgegennimmt, wird der Wert für let_run geprüft.
let_run="yes": Der Auftrag wird ausgeführt.
let_run="no": Der Auftrag wird nur ausgeführt, wenn der Startzeitpunkt innerhalb der Periode des Jobs liegt.

Wenn das Element leer ist (also kein <period> enthält), generiert der Scheduler eine Periode mit dieser Einstellung, andernfalls ist es die Voreinstellung für die Kind-Elemente (siehe oben Verkürzte Schreibweise).

when_holiday="" 

Wenn das Element leer ist (also kein <period> enthält), generiert der Scheduler eine Periode mit dieser Einstellung, andernfalls ist es die Voreinstellung für die Kind-Elemente (siehe oben Verkürzte Schreibweise).

Kind-Elemente

<period>  

  – Periode

Voreinstellung der Perioden für die Elemente <date>, <weekdays>, <monthdays> und <ultimos>. Diese Elemente können weitere Perioden hinzufügen. Wenn keines dieser Elemente angegeben ist, gelten die Perioden für jeden Tag. (Siehe oben Verkürzte Schreibweise).

<period> kann wiederholt werden.

<at>  

  – Startzeitpunkt

<at> kann wiederholt werden.

<date>  

  – Perioden für ein bestimmtes Datum

<date> kann wiederholt werden.

<weekdays>  

  – Perioden für bestimmte Wochentage

<month>  

  – Perioden für einen Monat

<monthdays>  

  – Perioden für bestimmte Tage des Monats

<ultimos>  

  – Perioden für bestimmte Tage des Monats, vom Ende her gezählt

<holidays>  

  – Feiertage


Software- und Organisations-Service GmbH

Zuletzt geändert von Joacim Zschimmer, 2008-07-10