Jobverwaltung
Auf dieser Seite erhalten Sie allgemeine
Informationen zu Sinn und Funktion von Jobs. Die einzelnen,
spezifischen Jobs sowie deren Funktion & Konfigurationsmöglichkeiten sind
jeweils auf den entsprechenden Modulseiten beschrieben.
--> direkt zu den Jobs im Modul "Portal &
Organisation"
Jobs dienen als periodisch laufende Hilfsprogramme der
Synchronisation und Bearbeitung von Daten.
Beispiele für mögliche Jobs:
- Erstellung von Gruppen anhand bestimmter Kriterien
- Synchronisation von Abteilungs- und Personendaten aus dem Zeitwirtschaftssystem oder
- Synchronisation von Kalenderdaten aus dem Groupware-System
- Synchronisation von Fehlgründen aus dem Zeitwirtschaftssystem
- Filterung definierter Unregelmäßigkeiten im Zeitwirtschaftssystem und in folge daraus
- Automatische Generierung bestimmte Workflow-Anträge
- Benachrichtigungen im Falle best. Ereignisse (z.B. Arbeitszeitüberschreitung)
- Automatisierte Reporterstellung und Versand per Mail
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 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.
Bei Bedarf kann hier auch ein Mailversand konfiguriert werden. Die Mail wird an
eine definierte Person verschickt, falls ein Logeintrag mit einem angegebenen
Level existiert.
Einige Jobs sind Standardjobs, welche nur vordefiniert
ausgeführt werden können - konfigurierbare Jobs können
individuell an die Benutzeranforderungen angepasst werden:
--> Jobkonfigurationen erstellen und
bearbeiten
Begriffsdefinitionen
- Ein Job ist ein periodisch laufendes Hilfsprogramm, welches für den korrekten Ablauf des Kundensystems notwendig ist. Dabei werden Systemtätigkeiten abgearbeitet, welche im Hintergrund durchgeführt werden können.
- Ein konfigurierter Job ist ein Webdesk Standard-Job mit einer parametrierten kundenspezifischen Konfiguration. Dieses Parametrierung wird über den Reiter 'Job-Konfiguration' im Formular Job durchgeführt. Ein konfigurierter Job verwendet also die Funktionen eines Standardjobs, jedoch mit den Einstellungen, die für den Kunden sinnvoll sind.
- Ein Jobtrigger ist eine Planungsinformation pro Job, welche angibt, in welchen Zeitabständen der Job gestartet werden soll. Pro Job können mehrere Jobtrigger definiert werden.
- Ein Standard-Job der konfigurierbar ist, stellt ein eigenes Konfigurationsformular zur Verfügung und ist per se noch nicht ablauffähig. Erst wenn eine neue Jobkonfiguration angelegt ist, kann diese dann gestartet werden. Ein "nicht konfigurierbarer" Job hingegen taucht sofort in der Liste der Jobs auf, ist also sofort ausführbar (und auch planbar), stellt aber keine weiteren Parametrierungsmöglichkeiten mehr zur Verfügung.
Durch die flexible Konfigurationsmöglichkeit kann ein Standard-Job in mehreren "Variationen" in einem System ablaufen. Jeder konfigurierte Job bildet nämlich eine neue Einheit, die seperat geplant werden kann.
Jedes Modul kann neue Jobs (sowohl konfigurierbare als auch nicht konfigurierbare) Jobs "beisteuern" und somit den "Werkzeugkasten" des Webdesk-Systems im Job-Bereich erweitern.
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.
-
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
- Einstellungen
-
Name
Sind mehrere Trigger vorgesehen, so können diese individuell benannt werden -
Aktiv
Bei mehreren Triggern können die einzelnen auf aktiv / inaktiv gesetzt werden, ohne dass der Job beeinträchtigt wird. -
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
Relevante Menüpunkte / Aktionen
Die folgenden Menüpunkte im Full System Administrator enthalten die relevanten Funktionen zur Verwaltung und zur Überwachung von Jobs:
- System > Jobs
- Monitoring > Aktive Jobs
- Monitoring > Logeinträge
Monitoring / Logeinträge
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!
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
Best Practice
Werden viele Jobs in einem System verwendet, sollte man folgende Grundregeln beachten:
- Man sollte eine kundenspezifische Namenskonvention bei der
Vergabe des Jobnamens einhalten, um später den Sinn des Jobs schnell erfassen zu
können.
Die Jobkonfiguration sollte nicht den Namen haben, wie der Job von dem sie abgeleitet wird. Wird der selbe Name eingegeben, kommt es zu einer Fehlermeldung, der neue Job kann nicht gespeichert werden. - Das Beschreibungsfeld sollte auch wirklich genutzt werden, um das Ziel des Jobs für den Administrator zu beschreiben (z.B. Import von Personenstammdaten aus IF6020)
- Läuft Webdesk in einem Clusterverbund (mehr als ein Server), so macht es Sinn, die Jobs auf einen Server zu konzentrieren. Ein paralleles (gleichzeitiges) Ausführen desselben Jobs auf unterschiedlichen Cluster-Nodes kann zu unvorhersehbaren Ergebnissen - im schlimmsten Fall zu Datenbank-Inkonsistenzen - führen.
- Rechenintensive Jobs sollten am Abend oder in der Nacht laufen, um die Serverhardware während der "Hauptverkehrszeit" nicht unnötig zu belasten. Bei nächtlichen Jobs muss aber die Planung der Jobs unbedingt im Einklang mit den Plänen der DB-Sicherung erfolgen, um Probleme zu vermeiden!
- Das regelmässige Zusenden von Log-Infos per Mail ermöglicht frühzeitig auf bestimmte Fehler bei den Jobs zu reagieren.
Log-Einträge in der Webdesk-DB sollten regelmässige gelöscht werden (hierzu gibt es einen eigenen Job!), ansonsten kann die Webdesk-DB zu voll werden und daraus können in weitere Folge Performance-Probleme entstehen.
Keine Kommentare vorhanden.