Cronjob automatisch wiederholen, wenn der Server kurz hakt
Ein 503 um drei Uhr nachts, weil der Hoster gerade ein Update einspielt – und der Shop-Export fällt für einen ganzen Tag aus. Cronjob.de versucht es in solchen Fällen automatisch noch einmal: nach 1, 5 und 15 Minuten, jeweils von einem anderen unserer Server. Klappt einer der Versuche, läuft Ihr Cronjob, und Sie bekommen keine Fehlermeldung.
Die wichtigste Regel
Wiederholt wird nur, was sicher nicht gelaufen ist
Ein Newsletter, der zweimal rausgeht, oder ein Import, der doppelt bucht, ist schlimmer als ein ausgefallener Lauf. Deshalb unterscheidet Cronjob.de genau: Kam der Aufruf gar nicht bei Ihrem Skript an, ist ein zweiter Versuch gefahrlos. Kann das Skript schon gearbeitet haben, wird nicht wiederholt, sondern wie gewohnt gemeldet.
| Antwort | Wiederholung | Warum |
|---|---|---|
| Verbindung abgelehnt, TLS-Fehler | ja | Der Server hat den Aufruf gar nicht angenommen. |
| 502 Bad Gateway, 503 Service Unavailable | ja | Überlastung, Neustart oder Wartung – das Skript lief nicht. |
| Cloudflare 521, 522, 523, 525 | ja | Cloudflare hat Ihren Server nicht erreicht. |
| 408, 429 | ja | Der Server bittet ausdrücklich, es später noch einmal zu versuchen. |
| 500 Internal Server Error | nie | Ihr Skript lief und ist dabei abgestürzt – vielleicht nach getaner Arbeit. |
| 504, 524, Zeitüberschreitung | nie | Das Skript kann noch laufen; ein zweiter Aufruf würde es doppelt starten. |
| Nach einer Weiterleitung | nie | Das erste Ziel kann den Auftrag schon ausgeführt haben. |
| 403, 404 und andere 4xx | nie | Ein zweiter Versuch ändert nichts – hier hilft die Fehlersuche. |
So läuft es ab
Was nach einem Aussetzer passiert
Nach 1, 5 und 15 Minuten
Sie wählen je Cronjob einen, zwei oder drei weitere Versuche. Kurze Hänger sind meist nach einer Minute vorbei, ein Neustart oder Update nach einigen Minuten.
Meldung erst am Ende
Solange noch ein Versuch aussteht, schweigt die Fehlermeldung. Scheitern alle, bekommen Sie die Meldung wie gewohnt – per E-Mail, Telegram, Slack oder Teams.
Von einem anderen Server
Jeder Versuch kommt von einem anderen unserer Server als der planmäßige Aufruf. Hakt es an der Strecke zwischen uns und Ihrem Server, klappt es so oft trotzdem.
Sichtbar im Protokoll
Sie sehen beide Läufe: den gescheiterten mit Fehlercode und den Versuch danach, markiert als „Wiederholung 1“, „2“ oder „3“.
Nur, wo es Sinn hat
Kommt der nächste planmäßige Lauf vor der Wiederholung, entfällt sie. Minutenjobs werden deshalb nie wiederholt – nächtliche und stündliche Aufgaben schon.
Ein Klick je Cronjob
Einschalten im Formular des Cronjobs, Reiter „Erfolgskontrolle“, Auswahl „Bei Aussetzern wiederholen“. Ab Plus, ohne Aufpreis.
Tipp
Ihr Skript kann selbst um einen späteren Versuch bitten
Manchmal weiß Ihr Skript am besten, dass es gerade nicht passt – etwa weil der vorige Lauf noch arbeitet oder ein Dienst, den es braucht, nicht antwortet. Ist die Wiederholung eingeschaltet und antwortet Ihr Skript dann mit Status 503, bevor es irgendetwas verändert, versuchen wir es später noch einmal. Wichtig: Die 503 muss kommen, bevor die eigentliche Arbeit beginnt.
<?php
$lock = fopen(__DIR__ . '/export.lock', 'c');
if (!flock($lock, LOCK_EX | LOCK_NB)) {
http_response_code(503); // voriger Lauf arbeitet noch: bitte später
exit;
}
// ... die eigentliche Arbeit ...
echo 'OK';
FAQ
Häufige Fragen
- Läuft mein Skript durch die Wiederholung doppelt?
- Nein. Wiederholt wird nur, wenn der Aufruf Ihr Skript sicher nicht erreicht hat: Der Server war nicht erreichbar, hat die Verbindung abgelehnt oder mit 502, 503 oder einem Cloudflare-Fehler wie 522 geantwortet. Nach einem 500, einer Zeitüberschreitung oder einer Weiterleitung kann Ihr Skript schon gelaufen sein – dann wiederholen wir nie.
- Wann genau kommen die Wiederholungen?
- Nach 1, 5 und 15 Minuten – je nach Einstellung einer, zwei oder drei Versuche. Weil ein Durchgang auf unseren Servern bis zu einer Minute dauert, kann ein Versuch eine Minute später kommen. Läuft Ihr Cronjob ohnehin vorher wieder planmäßig, entfällt die Wiederholung.
- Bekomme ich eine Fehlermeldung, wenn die Wiederholung klappt?
- Nein. Gemeldet wird erst, wenn alle Versuche gescheitert sind. Im Protokoll sehen Sie trotzdem beides: den gescheiterten Lauf und den erfolgreichen Versuch, markiert als „Wiederholung 1“.
- Kommt die Wiederholung vom selben Server?
- Nein, bewusst von einem anderen unserer Server. Liegt der Aussetzer an der Verbindung zwischen unserem Server und Ihrem, klappt es von dort oft trotzdem. Haben Sie unsere Adressen in einer Firewall freigegeben, nehmen Sie bitte die vollständige Liste unter cronjob.de/ips.txt, dann kommen auch die Wiederholungen durch.
- Wird auch ein Cronjob wiederholt, der jede Minute läuft?
- Nein, das wäre sinnlos: Der nächste planmäßige Lauf kommt ohnehin eine Minute später. Die Wiederholung hilft vor allem bei Aufgaben, die selten laufen – stündlich, nachts oder einmal am Tag.
- In welchem Tarif gibt es die Wiederholung?
- Ab Plus (1,49 € im Monat, jährlich 17,88 €), ohne Aufpreis, auch in Unlimited und in den ersten 14 Tagen nach der Anmeldung. Sie schalten sie je Cronjob im Reiter „Erfolgskontrolle“ ein.
14 Tage kostenlos testen
Jede Anmeldung startet mit 14 Tagen Unlimited – mit automatischer Wiederholung, Fehlermeldung und Minutentakt. Danach laufen bis zu fünf Cronjobs dauerhaft kostenlos weiter; die Wiederholung gibt es ab Plus für 17,88 € im Jahr.
Kostenlos starten Preise ansehen