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.

jobs_mailversand

  • 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!

aktive jobs
Vergrößern

jobs_logeinträge

Kommentare (2)