====== Hintergrundprozesse - Wie mache ich es? ======
Erfahren Sie in diesem Abschnitt, wie Sie Aufgaben für den iX-Scheduler anlegen und Protokolle erzeugen.
=====Konfiguration der Aufgaben=====
++++|
In der Detailsicht der Aufgaben können Sie festlegen, wann die Aufgabe ausgeführt werden soll und gegebenenfalls, welche Parameter dabei verwendet müssen. Um den Expertenmodus für die manuelle Eingabe eines Cron-Jobs zu aktivieren, müssen Sie in iX-Haus unter ''Systemeinstellungen Datenbank'' im Bereich ''iX-Haus plus Scheduler'' diese aktivieren. Danach können Sie im Scheduler-Job unter ''Konfiguration'' die manuelle Crondefinition (Expertenmodus) auswählen. Im folgenden Abschnitt finden Sie eine Erklärung und Beispiele, wie ein manueller Cron-Job angelegt werden kann.
* Es empfiehlt sich, für jede Scheduler-Aufgabe auch entsprechende Protokollregeln anzulegen, damit Sie jederzeit über Fehlfunktionen informiert werden. \\
* Kontrollieren Sie die Korrektheit Ihrer Eingaben per entsprechendem Schalter in der Menüzeile (Scheduler Job validieren). \\
* Systemseitig angelegte Aufgaben wie zum Beispiel ''iX-Haus plus Hintergrundprozesse'' können nicht gelöscht, sondern nur konfiguriert und aktiviert werden. Im Falle der Aufgabe ''iX-Haus plus Hintergrundprozesse'' werden die Terminaktualisierungen, die bisher in iX-Haus plus unter Hintergrundprozesse ausgeführt wurden, durch den Scheduler abgelöst. Damit erfolgt die Aktualisierung nicht mehr auf dem Client, sondern serverseitig.
++++
=====Crondefinition einer Aufgabe=====
++++|
Sofern Sie den Expertenmodus in einer Aufgabe eingestellt haben, können Sie im Feld ''Intervall (manuelle Cron-Definition)'' eine Crondefinition eintragen. Zur besseren Lesbarkeit wird im Feld Ausführung eine textuelle Darstellung der Definition angezeigt.
Ein Cron definiert sich aus fünf durch jeweils ein Leerzeichen getrennte Bereiche. Beim Speichern wird direkt die Gültigkeit der eingegeben Crondefinition geprüft.
- Bereich: Angabe Minute(n) (0 - 59)
- Bereich: Angabe Stunde(n) (0 - 23)
- Bereich: Angabe Tag(e) im Monat (1 - 31, L, W, LW)
- Bereich: Angabe Monat(e) (1 - 12) -> 1=Januar, 2=Februar, ..., 12=Dezember
- Bereich: Angabe Wochentag (0 - 6) -> 0=Sonntag, 1=Montag, ..., 6=Samstag
In jeden der fünf Bereiche können Sie Ziffern und Sonderzeichen eingeben. Ein Stern bedeutet ‚alle‘.
Geben Sie einen Stern im Bereich ‚Minute‘ ein, so wird die Aufgabe jede Minute ausgeführt (sofern auch in allen anderen Bereichen ein Stern steht). Die Kombination */Ziffer ergibt in dem ersten Bereich ein Minutenintervall bzw. im zweiten Bereich ein Stundenintervall. Einzelne getrennte Ausführungszeitpukte können Sie mit kommagetrennten Angaben definieren.
Mit dem Buchstaben ‚L‘ im 3. Bereich ‚Tag im Monat‘ legen Sie fest, dass die Aufgabe am letzten Tag im Monat ausgeführt wird. Ein ‚LW‘ bedeutet ‚letzter Werktag im Monat. Der Bindestrich wirkt in Kombination mit L oder LW als Rechenoperator (s. Beispiel).
Bei Wochentagen (5. Bereich) wirkt der Bindestrich als Bereichsangabe.
Der genaue Ausführungszeitpunkt der Aufgabe wird durch die Kombination aller fünf Bereiche festgelegt. Nachfolgend einige beispielhafte Cron-Definitionen.
| ''*/10 * * * *'' | Alle 10 Minuten |
| ''0 * * * *'' | Jede volle Stunde |
| ''0 15 * * *'' | Jeden Tag um 15 Uhr |
| ''0 7,16 * * *'' | Jeden Tag um 7 und 16 Uhr |
| ''15 */1 * * *'' | Jede Stunde bei Minute 15 |
| ''15 */2 * * *'' | Bei Minute 15, alle 2 Stunden |
| ''0 15 * * 1'' | Um 15 Uhr, am Montag |
| ''0 15 * * 1,3,5'' | Um 15 Uhr, am Montag, Mittwoch und Freitag |
| ''0 15 * * 1-5'' | Um 15 Uhr, Montag bis Freitag |
| ''0 15 1 * *'' | 1. Tag im Monat um 15 Uhr |
| ''0 15 1W * *'' | 1. Werktag im Monat um 15 Uhr |
| ''0 0 LW * *'' | Letzter Werktag im Monat um 0 Uhr |
| ''0 0 L-1 * *'' | Vorletzter Tag im Monat um 0 Uhr |
| ''0 0 L-5W * *'' | 5 Tage vor Monatsende an einem Werktag um 0 Uhr |
| ''0 0 3W * *'' | Dritter Werktag im Monat um 0 Uhr |
Beachten Sie, dass Frequenzen im Allgemeinen nicht beliebig benannt werden können. Nur Schrittwerte, die ihren Bereich gleichmäßig teilen, drücken genaue Frequenzen aus (für Minuten sind das /2, /3, /4, /5, /6, /10, /12, /15, /20 und /30, da 60 gleichmäßig durch diese Zahlen teilbar ist; für Stunden sind das /2, /3, /4, /6, /8 und /12, da 24 gleichmäßig durch diese Zahlen teilbar ist). Alle anderen möglichen "Schritte" und alle anderen Felder ergeben inkonsistente "kurze" Zeiträume am Ende der Zeiteinheit, bevor sie auf die nächste Minute oder den nächsten Tag "zurückgesetzt" wird; die Eingabe von */5 für das Tagesfeld führt manchmal nach 1, 2 oder 3 Tagen aus, je nach Monat und Schaltjahr. Dies liegt daran, dass Cron zustandslos ist (es merkt sich weder die Zeit der letzten Ausführung noch zählt es die Differenz zwischen dieser Zeit und jetzt, was für eine genaue Zählung der Häufigkeit erforderlich wäre.)
Ebenso ist die verfügbare Anzahl Tage oder Werktage pro Monat zu beachten. Eine Aufgabe mit Crondefinition aus ''0 0 21W * *'' wird im Februar 2022 z. B. einen 21. Werktag nicht ermitteln können.
++++
=====Protokollregel definieren=====
++++|
Um eine Protokollregel zu definieren, müssen Sie unter Tab Protokollregeln neue Regel anlegen, dann Aufgabetyp und gewünschte Aktion auswählen. Dann haben Sie drei Optionen zur Auswahl, wann die Aktion ausgeführt werden soll:
* Immer (unabhängig von Aufgabe Ergebnis wird die ausgewählte Aktion durchgeführt)
* Erfolg (wenn Aufgabe erfolgreich war)
* Fehler (wenn Aufgabe nicht erfolgreich war)
++++
=====Aktion E-Mail senden=====
++++|
Bei Auswahl eines Verantwortlichen (iX-Haus-Benutzers) stellen Sie bitte sicher, dass bei dem Benutzer und allen Vertretungen die jeweiligen E-Mail-Adressen erfasst sind. Falls für den Verantwortlichen Vertretungen aktiv geschaltet sind (Komfortpaket), so erhält auch der Vertreter die E-Mail. Die Protokollausgabe wird in der E-Mail als Text hinzugefügt.
Voraussetzung für die Aktion ''E-Mail senden'' ist, dass die SMTP-Einstellungen im Administrationsbereich unter ''Einstellungen'' > ''Globale Einstellungen'' konfiguriert wurden.
++++
=====iX-Scheduler überwachen=====
++++|
Es können für den iX-Scheduler zwei globale E-Mail-Adressen für entsprechende Empfänger eingerichtet werden, an die im Fall einer Störung, z. B. wenn ein Job nicht gestartet wird oder blockiert, E-Mails zur Kontrolle gesendet werden.
Die Einrichtung erfolgt im Administrationsbereich unter ''Einstellungen'' > ''Globale Einstellungen'' > ''SMTP Einstellungen'' > ''Scheduler E-Mailempfänger'' / ''Weitere Scheduler E-Mailempfänger''.
++++
=====Dynamische Datumseingabe für Aufgaben====
++++|
Bei der Eingabe eines Datums zur Ausführung einer Aufgabe per iX-Scheduler stehen Ihnen je nach Bedarf drei Möglichkeiten zur Verfügung:
==1. Variante==
Festes Datum im Format ''TT.MM.JJJJ'' \\
Beispiel: 08.01.2021
==2. Variante==
Format ''AktDatum|Heute'' \\
Beispiel: Heute
==3. Variante==
Format ''(-)N(N).(Werktag/Kalendertag).AktDatum|Heute|VorvorMonatUltimo|VorvorMonat|
VorMonatUltimo|VorMonat|ActMonatUltimo|ActMonat|AktMonatUltimo|AktMonat|FolgeMonatUltimo|FolgeMonat''
Die in Klammern gesetzten Begriffe/Eingaben sind optional, d. h. das Minus vorne kann entfallen, die Tageszahl kann ein- oder zweistellig sein. Werktag oder Kalendertag ist optional, standardmäßig wird Kalendertag interpretiert.
Beispiele:
| **Eingabe** | **Resultierendes Datum** |
| ''1.Werktag.Heute'' | 17.01.2022 |
| ''3.Werktag.AktMonat'' | 05.01.2022 |
| ''3.Werktag.FolgeMonatUltimo'' | 24.02.2022 (26.02. und 27.02. sind Sa und So) |
| ''19.Kalendertag.Folgemonat'' | 19.02.2022 (hier ist der Typ standardmäßig Kalendertag) |
| ''19.Folgemonat'' | 19.02.2022 (hier ist der Typ standardmäßig Kalendertag) |
++++