Cronjob Laufzeit aushebeln

Viele Cronjob Dienstleister begrenzen die Cronjobs in ihrer Laufzeit. Es gibt jedoch einen ganzen einfachen Trick, wie dein Skript genug Zeit bekommt, um fertig zu laden. Das ist bei Cronjobs besonders wichtig, weil gerade diese oft umfangreiche Aufgaben zugewiesen bekommen, die mit einem Aufruf abgearbeitet werden müssen.

Beachte bitte, dass aufgrund der Serverkonfiguration (php.ini) diese Funktionen eventuell eingeschränkt oder nicht möglich sind.

So geht's: Die Cronjob Laufzeit aushebeln

PHP bietet dafür zwei interessante Funktionen. Mit set_time_limit($SEKUNDEN); (0 als Wert steht für unbegrenzt) kann man die Zeitbegrenzung in Sekunden setzen, nach denen das Skript automatisch beendet wird.



Mit ignore_user_abort(true); wird festgelegt, dass das Skript auch bis zum Ende ausgeführt wird, wenn der User (in diesem Fall der Cronjob Bot) die Seite zuvor verlässt. Um die Cronjob Laufzeit auszuhebeln, kannst du zum Beispiel den folgenden Code an oberster Stelle in deinem Skript integrieren:

set_time_limit(0);
ignore_user_abort(true);


Achtung: Wenn sich in deinem Skript ein Fehler befindet und im Skript so zum Beispiel eine Schleife endlos ausgeführt wird, läuft dieses Skript (theoretisch) endlos weiter und belastet den Server. Du solltest zuvor durch Debugging unbedingt sicherstellen, dass dein Skript keine solchen Fehler beinhaltet! Im Zweifel muss sonst der PHP-Server-Prozess neu gestartet werden.

Weitere PHP Tipps

Auf dieser Website wurden weitere Tipps veröffentlicht, die durch wenige PHP-Code Zeilen, ein vermeintlich wichtiges Feature auf deinen Server holen.
 

Fazit

Häufig wird dieses Feature besonders angepriesen und das sogar bei kostenpflichtigen Paketen. Doch wie du siehst, kannst du dies mit einem kurzen Codeabschnitt (PHP) selbst beeinflussen.

Wenn du wissen willst, welche anderen Vergleichskriterien es gibt, so schaue dir doch einmal diesen Artikel an.