CRONJOBS_ESCALATION entfernen
Beschreibung
Die Behandlung von CRONJOBS_ESCALATION
ergibt bei uns überhaupt keinen Sinn und ist eher kontraproduktiv:
- Läuft ein Job auf einen Fehler (der das PHP-Skript abbricht), bekommt der Besitzer der
crontab
sowieso eine Mail. - Die Standardeinstellung ist für einige Jobs viel zu kurz, Losverfahren laufen teilweise 20 Minuten, HISinOne-Synchronisation ca. 45 Minuten. Diese werden dann fälschlicherweise deaktiviert, wenn sie länger als erwartet laufen.
- Stellt man die Einstellung auf einen "hinreichend großen" Wert, um das vorherige Problem zu lösen, wird
-
set_time_limit()
damit aufgerufen, was man vermutlich nicht möchte. - im Fehlerfall erst mal gar kein Job mehr ausgeführt, bis die Zeit um ist.
-
Wenn es nur darum geht zu vermeiden, daß mehrere Jobs parallel ausgeführt werden, sollte man das besser über (korrektes) Locking machen. Das funktioniert dann auch richtig, wenn das PHP-Skript abbricht.
Vorschlag: Die Einstellung CRONJOBS_ESCALATION
wird entfernt, es findet keine Behandlung von "Eskalierter Ausführung" mehr statt. Das Locking wird auf flock
umgestellt, damit zuverlässig erkannt werden kann, ob ein vorheriger Job noch läuft oder nicht. Wie bisher werden nie mehrere Jobs parallel ausgeführt.