Skip to main content

Zeitsteuerung

Mit der Zeitsteuerung kann man bestimmte Abläufe zeitlich steuern. Bisher wurde ein einfacher Timer benutzt, mit dem Start- und Endzeit und die Intervalle einstellen konnte. Ab Version 2.6.1. ist ein neuer Timer eingebunden, mit dem dann auch solche Zeiten wie z.B. "jeden Freitag um neun Uhr" oder "jeden Wochentag um 9.30 Uhr" oder sogar "alle 5 Minuten zwischen 9.00 und 10.00 Uhr an jedem Montag, Mittwoch und Freitag im Januar" möglich sind.

ab Version 2.6.1 - Cron Trigger

Cron Trigger sind oft besser geeignet als SimpleTrigger, wenn man zu wiederkehrenden Zeiten Jobs starten will, im Gegensatz zu exakt angegebenen Zeitintervallen beim Simple Trigger. Mit dem Cron Trigger kann man Startzeiten festlegen wie z.B. "jeden Freitag um neun Uhr" oder "jeden Wochentag um 9.30 Uhr" oder sogar "alle 5 Minuten zwischen 9.00 und 10.00 Uhr an jedem Montag, Mittwoch und Freitag im Januar". Der Cron Trigger hat aber auch analog dem Simple Trigger eine Startzeit und Endzeit, die den Einsatz des Triggers steuert.

Mode

Modus Bedeutung Ausführlich Zeiträume werden über bestimmte Felder ausgewählt Expert Zeiträume werden mit Cron-Expressions im Feld "Cron-Trigger" angegeben

Stunde

Innerhalb welcher Stunde(n)?

Auswahl:

Option Bedeutung jede innerhalb jeder Stunde Zahl auswählen innerhalb der ausgewählten Stunde, z.B. 0 → von 0:00 bis 0:59 zyklisch alle 2, 4, … Stunden starten (für je eine Stunde) Eingabe spezielle Angaben mit Cron-Expressions

Werte (Cron-Expression):

Zeichen Bedeutung * wie Auswahl "jede" 0 … 23 wie "Zahl auswählen" , mehrere Stunden, z.B. 3,7,10: Stunde 3, 7 und 10 - Zeitraum, z.B. 10-20: ab Stunde 10 bis einschließlich 20 / Inkremente, z.B. 0/2: Start Stunde 0, alle 2 Stunden; 3/3: Start Stunde 3, alle 3 Stunden

Minute

Zu welcher Minute innerhalb der Stunde(n) bzw. alle wie viele Minuten innerhalb der Stunde(n)?

Auswahl:

Option Bedeutung jede startet jede Minute innerhalb der Stunde Zahl auswählen z.B. Start zur Minute 15 innerhalb der Stunde zyklisch alle 2, 5, … Minuten starten Eingabe spezielle Angaben mit Cron-Expressions

Werte (Cron-Expression):

Zeichen Bedeutung * wie Auswahl "jede" 0 … 59 wie "Zahl auswählen" / Inkremente, z.B. 0/10: Start Minute 0, alle 10 Minuten; 30/2: Start Minute 30, alle 2 Minuten , mehrere Werte, z.B. 2,20,45: Minute 2, 20 und 45 - Zeitraum, z.B. 10-20: ab Minute 10 bis Minute 20, jede Minute

Tag

Innerhalb welchen Tages im Monat?

Auswahl:

Option Bedeutung jeden innerhalb jeden Tages im Monat Zahl auswählen innerhalb des ausgewählten Tages im Monat Eingabe spezielle Angaben mit Cron-Expressions

Werte (Cron-Expression):

Zeichen Bedeutung * wie Auswahl "jeden" 1 … 31 wie "Zahl auswählen" , mehrere Tage, z.B. 13,14,19: 13., 14. und 19. Tag im Monat - Zeitraum, z.B. 5-10: 5. bis einschließlich 10. Tag im Monat / Inkremente, z.B. 1/4: Start Tag 1, alle 4 Tage; 3/3: Start Tag 3, alle 3 Tage L letzter Tag im Monat (egal ob 28., 30. oder 31.), z.B. L-2: vorvorletzter Tag im Monat W nächster Wochentag zum angegebenen Tag, z.B. 13W: ist der 13. ein Samstag → Freitag, ist er ein Sonntag → Montag ? kein spezieller Wert (Platzhalter)

Monat

Innerhalb welchen Monats?

Auswahl:

Option Bedeutung jeden jeden Monat Zahl auswählen in welchem Monat aktiv? Eingabe spezielle Angaben mit Cron-Expressions

Werte (Cron-Expression):

Zeichen Bedeutung * wie Auswahl "jeden" 1 … 12 bzw. JAN … DEC wie Auswahl einer Zahl , mehrere Werte, z.B. FEB,OCT: Februar und Oktober

Wochentag

Innerhalb welchen Wochentages?

Auswahl:

Option Bedeutung jeden Timer startet täglich Mo–Fr Timer startet innerhalb dieses Tages Eingabe spezielle Angaben mit Cron-Expressions

Werte (Cron-Expression):

Zeichen Bedeutung * wie Auswahl "jeden" 1 … 7 bzw. SUN … SAT wie "Zahl auswählen" (1 = Sonntag) , mehrere Wochentage, z.B. MON,FRI: montags und freitags - Zeitraum, z.B. MON-FRI: "wochentags" L allein: letzter Tag (Sonnabend); mit Wochentagszahl: letzter x-Tag im Monat, z.B. 6L: letzter Freitag im Monat ? kein spezieller Wert (Platzhalter) / Inkremente, z.B. 1/2: alle zwei (Wochen-)Tage mit Start am Sonntag # der wievielte Wochentag im Monat, z.B. 2#1: erster Montag im Monat (auch MON#1)

Jahr

Innerhalb welchen Jahres?

Auswahl:

Option Bedeutung jedes in jedem Jahr Eingabe individuelle Jahre angeben

Wechselwirkungen

Wochentag und Tag z.B. Wochentag "Mo" und Tag "4": jeden Montag, der ein 4. des Monats ist (Monat muss dann auf "jeder" stehen)

Monat und Tag z.B. Monat "jeden" und Tag "31": an jedem 31. des Monats — also nur in Monaten mit 31 Tagen (Tag: "jeder")

Monat, Tag und Wochentag z.B. Monat "9", Wochentag "Fr" und Tag "13": startet nur, wenn der September einen Freitag den 13. hat

Das Ganze lässt sich noch mit dem Jahr koppeln, ist aber m.E. nicht sinnvoll.

Aktion

Auswahl eines Timer-Actions (siehe unten unter "aktuelle Timerklassen").

Steuerparameter

siehe unten unter "aktuelle Timerklassen" unter der jeweiligen Klasse

Cron-Expressions

Cron-Expressions werden verwendet, um eine Instanz eines Cron-Triggers zu konfigurieren. Sie sind Strings aus 7 Einzelwerten, die die individuellen Einzelheiten des Ablaufplans beschreiben. Die Werte werden mit Leerzeichen getrennt und repräsentieren:

0 0 5 * * ? *
┬ ┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │ └── Jahr (optional)
│ │ │ │ │ └──── Wochentag (1-7) (Sonntag=1)
│ │ │ │ └────── Monat (1-12)
│ │ │ └──────── Tag (1-31)
│ │ └────────── Stunde (0-23)
│ └──────────── Minute (0-59)
└────────────── Sekunde (0-59, meist 0)

Die zu verwendenden Werte stehen oben unter dem jeweiligen Feld (Tag, Monat usw.).

Beispiele:

Expression Bedeutung 0 0 12 ? * WED jeden Mittwoch um 12:00 Uhr 0 0/5 * * * ? alle 5 Minuten (beginnend mit Minute 0) 0 30 10-13 ? * WED,FRI um 10:30, 11:30, 12:30 und 13:30, jeden Mittwoch und Freitag 0 0/30 8-9 5,20 * ? halbstündlich zwischen 8 und 10 Uhr am 5. und 20. jeden Monats (8:00, 8:30, 9:00, 9:30 — aber nicht 10:00)

Manche Startzeiten sind zu komplex für einen einzigen Ausdruck, z.B. alle 5 Minuten zwischen 9:00 und 10:00 Uhr und alle 20 Minuten zwischen 1:00 und 10:00 Uhr. Das lässt sich nur mit zwei Timern abbilden.

in alten Versionen

TimerTaskKlassen

veraltet (nicht mehr benutzen)

  • com.batix.timer.ContainerDeActivatorTask (aktiviert/deeaktiviert alte Containerdatensätze wenn Datum herangekommen ist)
  • com.batix.timer.ContainerRemoveTask (löscht alte Containerdatensätze wenn Datum herangekommen ist)
  • com.batix.timer.DetailDeactivatorTask (bx:schleife deaktiviert einzelne Schleifen-Datensätze)
  • com.batix.timer.NavDeActivatorTask (aktiviert/deeaktiviert Navigationspunkte zu bestimmten Zeitpunkt)
  • com.batix.timer.NewsArchiver (altes Newssmodul; verschiebt alte News ins Archiv)

aktuelle Timerklassen

com.batix.timer.ContainerImportTimer

aktualisiert einen neuen Container mit Daten von einem anderen System

Steuerparameter:

Parameter Beschreibung
container-id=125DA0FBA30 Container intern
extern-id=10EA47412E6 Container extern
extern-host=https://www.externer-server.de Hostname des externen Systems
img-kat=125A1311768 Bildergaleriekategorie für importierte Bilder
doc-kat=125A2CE1376 Bildergalerieordner für importierte Dokumente
flag=html Editorfelder mit importieren

com.batix.timer.UserReactivation

aktiviert gesperrte User, wenn sie 3x falsches Passwort eingegeben hatten


com.batix.timer.VisitorStatTimer

verkürzt Userstatistik

Steuerparameter:

Parameter Beschreibung
days-to-keep=60

com.batix.timer.URLConnectionTimer

ruft URL auf (für gewöhnlich ein Action)

Steuerparameter:

Parameter Beschreibung
url=http://www.dein-web.de/aktionen/testaktion.act ruft ein Aktion auf
max-redirects=30 Anzahl der Redirekts (optional)

com.batix.search.CrawlerTask

Keywords: Web indizieren, Indizierung, Crawler

Steuerparameter:

Parameter Beschreibung
sleeptime=500
report-to=Email-Adresse liefert einen Report über die Seiten, die beim indizieren 404 zurückgeliefert haben, an die angegebene E-Mail-Adresse, ab 2.6.1 RC15
report-from=Absender-Adresse wenn report-from fehlt, wird noreply@batix.info verwendet

Um auch Actions zu indizieren (z.B. Weiterleitungen usw. - wenn man sicher ist, daß nix gelöscht wird) kann man im Action in die Metadaten accept-crawler=true eintragen.

ab Version 2.6.1 - Cron Trigger

Cron Trigger sind oft besser geeignet als SimpleTrigger, wenn man zu wiederkehrenden Zeiten Jobs starten will, im Gegensatz zu exakt angegebenen Zeitintervallen beim Simple Trigger. Mit dem Cron Trigger kann man Startzeiten festlegen wie z.B. "jeden Freitag um neun Uhr" oder "jeden Wochentag um 9.30 Uhr" oder sogar "alle 5 Minuten zwischen 9.00 und 10.00 Uhr an jedem Montag, Mittwoch und Freitag im Januar". Der Cron Trigger hat aber auch analog dem Simple Trigger eine Startzeit und Endzeit, die den Einsatz des Triggers steuert.

Mode

Ausführlich: Zeiträume können über bestimmte Felder ausgewählt werden Expert: Zeiträume können mit Cron-Expressions im Feld "Cron-Trigger" angegeben werden

Stunde

Innerhalb welcher Stunde(n)?

jede - innerhalb jeder Stunde Zahl auswählen - innerhalb der ausgewählten Stunde, z.B. 0 angegeben, dann von 0 .00 bis 0.59 zyklisch - alle 2,4,... Stunden starten (für je eine Stunde) Eingabe - spezielle Angaben mit Cron-Expressions Werte: '*' - gleichbedeutend mit Auswahl 'jede' 0 1 2 ... 23 - gleichbedeutend mit Zahl auswählen ',' - mehrere Stunden angeben z.B. '3,7,10': innerhalb der Stunde 3, 7 und 10 '-' - Zeitraum definieren, z.B. '10-20' bedeutet: ab Stunde 10 bis einschließlich Stunde 20 '/' - Inkremente (bei zyklischem Start) festlegen, z.B. 0/2 bedeutet: Start mit Stunde 0 alle 2 Stunden (gleichbedeutend mit Auwahl zyklisch und Angabe einer Zahl) oder 3/3 bedeutet: Start mit Stunde 3 alle 3 Stunden

Minute

Zu welcher Minute innerhalb der Stunde(n) bzw. Alle wieviele Minuten innerhalb der Stunde(n)?

jede - startet jede Minute innerhalb der Stunde Zahl auswählen - z.B. Start zur Minute 15 innerhalb der Stunde zyklisch - alle 2, 5,... Minuten starten Eingabe - spezielle Angaben mit Cron-Expressions Werte: '*' - gleichbedeutend mit Auswahl 'jede' 0 1 2 3 .. 59 - gleichbedeutend mit Auswahl einer Zahl '/' - Inkremente (bei zyklischem Start) festlegen, z.B. 0/10 bedeutet: Start mit bei Minute 0 alle 10 Minuten (gleichbedeutend mit Auwahl zyklisch und Angabe einer Zahl) oder 30/2 bedeutet: Start mit Minute 30 alle 2 Minuten ',' - mehrere Werte angeben '2,20,45': Start zur Minute 2, 20 und 45 '-' - Zeitraum definieren, z.B. "10-20" bedeutet: ab Minute 10 bis Minute 20 jede Minute

Tag

Innerhalb welchen Tages im Monat?

jeden - innerhalb jeden Tages im Monat Zahl auswählen - innerhalb des ausgewählter Tages im Monat Eingabe - spezielle Angaben mit Cron-Expressions Werte: '*' - gleichbedeutend mit Auswahl 'jeden' 1 2 3 4 ... 31 - gleichbedeutend mit 'Zahl auswählen' ',' - mehrere Tage angeben, z.B. '13,14,19': innerhalb des 13., 14. und 19. Tages im Monat '-' - Zeitraum angeben, z.B. '5-10': innerhalb des 5. bis einschließlich 10. Tages im Monat /' - Inkremente (bei zyklischem Start) festlegen, z.B. 1/4 bedeutet: (Start mit Tag 1) alle 4 Tage oder 3/3 bedeutet: Start mit Tag 3 alle 3 Tage 'L' - letzter Tag im Monat, egal ob 28. 30. oder 31. Tag, z.B. 'L-2': vor-vorletzer Tag im Monat 'W' - der nächste Wochentag zum angegebenen Tag im Monat, z.B. '13W': wenn der 13. ein Samstag ist, wird der Freitag genommen, wenn er ein Sonntag ist, dann der Montag '?' - kein spezieller Wert (als Art Platzhalter)

Monat

Innerhalb welchen Monats?

jeden - jeden Monat Zahl auswählen - in welchem Monat aktiv? Eingabe - spezielle Angaben mit Cron-Expressions Werte: '*' - gleichbedeutend mit Auswahl 'jeden' 1 2 3 ... 12 oder JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC (gleichbedeutend mit der Auswahl einer Zahl) ',' - Angabe mehrerer Werte, mit Komma getrennt, "FEB,OCT" bedeutet: innerhalb der Monate Februar und Oktober

Wochentag

Innerhalb welchen Wochentages?

jeden - Timer startet täglich Mo-Fr - Timer startet innerhalb dieses Tages Eingabe - spezielle Angaben mit Cron-Expressions Werte: '*' - gleichbedeutend mit Auswahl 'jeden' 1 2 3 ... 7 oder SUN, MON, TUE, WED, THU, FRI SAT - gleichbedeutend mit 'Zahl auswählen' (1=Sonntag) ',' - mehrere Wochentag angeben, z.B. 'MON,FRI': innerhalb Montags und Freitags '-' - Zeitraum angeben, z.B. 'MON-FRI' bedeutet 'wochentags' 'L' - alleinige Angabe: letzter Tag, also Sonnabend. In Verbindung mit einer Wochentagszahl: letzter x-Tag im Monat, z.B. '6L': letzter Freitag im Monat '?' - kein spezieller Wert (als Art Platzhalter) '/' - Inkremente (bei zyklischem Start) festlegen, z.B. 1/2 bedeutet: alle zwei (Wochen)Tage mit Start am Sonntag '#' - der wievielte Wochentag im Monat, z.B. '2#1': der erste Montag im Monat (auch so schreibbar: 'MON#1')

Jahr

Innerhalb welchen Jahres?

jedes - in jedem Jahr Eingabe - es können individuelle Jahre angegeben werden

Wechselwirkungen:

zwischen Wochentag und Tag

z.B. Wochentag "Mo" und Tag "4": jeden Montag, der ein 4. des Monats ist (bei Monat muß dann "jeder" eingestellt sein)

zwischen Monat und Tag

z.B. Monat "jeden" und Tag "31": an jedem 31. d. Monats, also nur in Monaten, die 31 Tage haben (Tag: "jeder")

zwischen Monat, Tag und Wochentag

z.B. Monat "9", Wochentag "Fr" und Tag "13": wenn der September eine Freitag, den 13. hat, dann startet der Timer, ansonsten nicht

Das ganze kann noch mit Jahr gekoppelt werden, ist aber m.E. nicht sinnvoll

Aktion

Auswahl eines Timer-Actions (siehe oben unter "Aktuelle Timerklassen")

Steuerparameter

siehe oben unter "aktuelle Timerklassen" unter jeweiliger Klasse

Cron-Expressions

Cron-Expressions werden verwendet, um eine Instanz eines Cron-Triggers zu configurieren. Cron-Expressions sind Strings die aus 7 Einzelwerten bestehen, die die individuellen Einzelheiten des Ablaufplans beschreiben. Die Einzelwerten werden mit Leerzeichen getrennt und repräsentieren:

0 0 5 * * ? *
┬ ┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │ └── Jahr (optional) 
│ │ │ │ │ └──── Wochentag (1-7) (Sonntag=1)
│ │ │ │ └────── Monat (1-12)
│ │ │ └──────── Tag (1-31)
│ │ └────────── Stunde (0-23)
│ └──────────── Minute (0-59)
└────────────── Sekunde (0-59, meist 0)

Die zu verwendenden Werte stehen oben unter dem jeweiligen Feld (Tag, Monat usw.).

Beispiele: "0 0 12 ? * WED" - startet jeden Mittwoch um 12.00 Uhr "0 0/5 * * * ?" - startet alle 5 Minuten (beginnend mit Minute 0) "0 30 10-13 ? * WED,FRI" - startet um 10:30, 11:30, 12:30, and 13:30, jeden Mittwoch und Freitag "0 0/30 8-9 5,20 * ?" - startet halb zwischen 8 und 10 Uhr am 5. und 20. jeden Monats. Start also um 8.00, 8.30, 9.00 und 9.30, aber nicht um 10:00 Uhr Manche Startzeiten sind aber auch zu komplex, um sie in nur einem Ausdruck abhandeln zu können, z.B. alle 5 Minuten zwischen 9.00 und 10.00 Uhr und alle 20 Minuten zwischen 1.00 und 10.00 Uhr. Das kann man nur mit zwei Timern abhandeln.