Allgemeines zu Jobs
Jobs dienen als periodisch laufende Hilfsprogramme der Synchronisation und Bearbeitung von Daten.
Trigger
Die Jobs können automatisch, mit Hilfe eines sogenannten
Triggers gestartet werden. Mit dem Trigger wird ein Zeitplan
erstellt, so dass die Jobs beliebig gestartet werden können (stündlich, täglich,
wöchentlich oder monatlich, ...). Die Einstellung kann auf den Tag, Stunde und
Minute genau konfiguriert werden.
Bei Bedarf können die Jobs auch jederzeit manuell gestartet werden.
Weiters können die Jobs einen aktiven oder inaktiven Status haben. Bei einem
aktiven Status werden die Jobs gemäß dem eingestellten Trigger gestartet. Sind
diese jedoch inaktiv, können sie lediglich manuell gestartet werden. Der Status
kann jederzeit geändert werden.
Ein Trigger stellt einen Zeitplan für die Ausführung eines Jobs dar. Er legt fest, wann, wie oft, und in welchen Abständen der Job ausgeführt wird.
-
Zeitplantyp
Hier erfolgt die Auswahl des Triggers: -
minütlicher Trigger
Wird dieser Parameter selektiert, so wird der Job jede Minute neu gestartet -
stündlicher Trigger
Bei diesem Parameter wird der Job jede Stunde neu gestartet -
täglicher Trigger
Mögliche Selektion der genauen Uhrzeit (Stunden und Minuten) -
wöchentlicher Trigger
Mögliche Selektion des Wochentages und der Uhrzeit -
monatlicher Trigger
Selektion, an welchem Tag und zu welcher Uhrzeit der Trigger starten soll -
Simple Trigger
Mögliche Einstellungen sind Anzahl der Wiederholungen, Beginn- und Ende-Datum, Minuten in Intervall. -
Cron Trigger
Hierbei handelt es sich um eine besondere Art von Trigger. Die Crono Expression kann aus 6 oder 7 Zeichen bestehen, die durch Leerzeichen getrennt sind. Diese Zeichen können alle erlaubten Werte darstellen, wie auch einige Sonderzeichen beinhalten (z.B. , - * / ). Das Zeichen * steht hier zum Beispiel für alle möglichen Werte (Wildcard). Die Bedeutung der anderen Sonderzeichen finden sie unter dem unten angegebenen Link.
Auf diese Weise kann ein Zeitpunkt (Stunde, Minuten, Datum, Tag, Monat, Jahr, etc.) für den Trigger bestimmt werden. Die Crono Expression kann z.B. wie folgt aussehen: 0 0 12 * * ?, und bedeutet, dass der Trigger täglich um 12Uhr (mittags) feuern soll. - Legende (Felder in korrekter Reihenfolge):
Namensfeld
Erlaubte Werte
Erlaubte Sonderzeichen
Seconds
0-59
, - * /
Minutes
0-59
, - * /
Hours
0-23
, - * /
Day-of-month
1-31
, - * ? / L W C
Month
1-12 or JAN-DEC
, - * /
Day-of-Week
1-7 or SUN-SAT
, - * ? / L C #
Year (Optional)
empty, 1970-2099
, - * /
-
Beispiele:
Ausdrücke
Bedeutung
0 0 12 * * ?
Startet täglich um 12:00
0 15 10 ? * *
Startet täglich um 10:15
0 15 10 * * ?
Startet täglich um 10:15
0 15 10 * * ? *
Startet täglich um 10:15
0 15 10 * * ? 2005
Startet täglich um 10:15 während des Jahres 2005
0 * 14 * * ?
Startet täglich jede Minute beginnend um 14:00 und endet um 14:59
0 0/5 14 * * ?
Startet täglich alle 5 Minuten beginnend um 14:00 und endet um 14:55
0 0/5 14,18 * * ?
Startet täglich alle 5 Minuten beginnend um 14:00 und endet um 14:55, UND Startet alle 5 Minuten beginnend um 18:00 und endet um 18:55
0 0-5 14 * * ?
Startet täglich jede Minute beginnend um 14:00 und endet um 14:05
0 10,44 14 ? 3 WED
Startet um 14:10 und um 14:44 jeden Mittwoch im Monat März
0 15 10 ? * MON-FRI
Startet um 10:15 jeden Montag, Dienstag, Mittwoch, Donnerstag und Freitag
0 15 10 15 * ?
Startet um 10:15 am15ten jedes Monats
0 15 10 L * ?
Startet um 10:15 am letzten Tag jedes Monats
0 15 10 ? * 6L
Startet um 10:15 am letzten Freitag jedes Monats
0 15 10 ? * 6L 2002-2005
Startet um 10:15 am letzten Freitag jedes Monats in den Jahren 2002, 2003, 2004 und 2005
0 15 10 ? * 6#3
Startet um 10:15 am dritten Freitag jedes Monats
Weiterführende Informationen zum Thema Cron-trigger finden Sie unter: http://quartz.sourceforge.net/javadoc/org/quartz/CronTrigger.html
-
Löschen
Durch Aktivieren der Check-Box kann der bestehende Trigger gelöscht werden (aktivieren der Check-Box durch Anklicken, anschließend "Speichern" oder "Speichern & Schließen") -
Neuer Trigger
Hier kann ein neuer Trigger angelegt werden. Die Selektion erfolgt wie beim Zeitplantyp -
Speichern, Speichern & Schließen
Durch Klicken auf Speichern wird die Änderung übernommen, das Formular könnte noch weiter editiert werden. Durch "Speichern & Schließen" wird der Job gespeichert, man gelangt wieder zur Job-Übersicht
Mailversand
Bei Bedarf kann in den Jobs auch ein Mailversand konfiguriert werden. Die Mailbenachrichtigungenthält nur den Job-Log, und wird an eine definierte Person verschickt, falls ein Logeintrag mit einem angegebenen Level existiert.
-
Mailverständigung aktivieren
Wird die CheckBox angehakt, so wird die Mailverständigung aktiviert -
Loglevel
Eine E-Mail wird verschickt falls ein Logeintrag mit dem angegebenen Level existiert. Priorisierung von Fehlermeldungen - Fatal - es werden nur Fehlermeldungen ausgegeben
- Error - alle Fehlermeldungen
- Warn
- Info
- Debug - gibt die meisten Meldungen aus (z.B. "lade Datensatz mit Nummer xy...")
- All - alle Meldungen werden ausgegeben
-
Suchkriterium
Beinhaltet einer der Logeinträge eines der angegebenen Worte, so wird ein Mail verschickt. -
Nur einen Link zu den Logs versenden
Wird der Parameter angehakt, so wird nur ein Link zu den Log-Einträgen gesendet. Andererseits werden alle Log-Details gesendet. -
Adresse des Servers
Geben sie hier die Adresse des Servers ein. Z.B. http://myserver.com/webdesk -
Personen, die informiert werden sollen
Eingabe einer gültigen E-Mailadresse für Benachrichtigungen, dass der Job gelaufen ist, bzw. dass Fehler aufgetreten sind. - Hinzufügen > Hinzufügen neuer E-Mailadressen
- Löschen > Löschen bestehender E-Mailadressen
Monitoring der Jobs
Für das Monitoring von Jobs ist es ungeheuer wichtig, dass die implementierenden Job-Klassen auch entsprechend Loggen. Diese Logging-Informationen werden dann üblicherweise in die Webdesk-Datenbank-Logs geschrieben und sind dann somit über die Ansicht Monitoring > Logeinträge auswertbar.
Ein Monitoring der Jobs wird durch die Ansicht "Aktive Jobs" ermöglicht, wo alle aktiven Jobs auf einen Blick zu sehen sind. Weiters kann, bei entsprechender Parametrierung, der Verlauf des Jobs mit Hilfe der Logeinträge nachvollzogen werden. So wird anhand des parametrierten Log-Levels (definierter Status während des Jobverlaufes, wie z.B. Fehler, Warnung, ...) ersichtlich, ob ein Job problemlose durchgelaufen ist, oder ob bestimmte Probleme aufgetreten sind.
Empfohlene Log-Einstellungen
Grundsätzlich sollte der Loglevel of Jobs in den
Log-Einstellungen (Full System Administrator: System--> Log-Einstellungen)
zumindest auf INFO stehen. Damit ist gewährleistet, dass alle
Log-Informationen, welche vom Programmierer als INFO oder höherwertig
qualifiziert wurden, ins Datenbank-Log geschrieben werden. Hiermit sollte z.b.
bei einer Batchverarbeitung üblicherweise z.b. die Anzahl der verarbeiteten
Datensätze gelogged werden. Jedenfalls werden damit Fehler (Exceptions) auf
jeden Fall gelogged!
Treten Fehler im Job auf, so ist es mitunter sinnvoll, den Logging-Level für
Jobs auf DEBUG zu erhöhen!
Vergrößern |
Des weiteren sollte dokumentiert werden, wie kann ich einen job starten, wie kann ich ihn planen, wie kann ich dessen ausführung kontrollieren? wichtig dazu auch die neue funktion "Ansicht aktive Jobs" unter Monitoring