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.

AntwortWiederholungWarum
Verbindung abgelehnt, TLS-FehlerjaDer Server hat den Aufruf gar nicht angenommen.
502 Bad Gateway, 503 Service UnavailablejaÜberlastung, Neustart oder Wartung – das Skript lief nicht.
Cloudflare 521, 522, 523, 525jaCloudflare hat Ihren Server nicht erreicht.
408, 429jaDer Server bittet ausdrücklich, es später noch einmal zu versuchen.
500 Internal Server ErrornieIhr Skript lief und ist dabei abgestürzt – vielleicht nach getaner Arbeit.
504, 524, ZeitüberschreitungnieDas Skript kann noch laufen; ein zweiter Aufruf würde es doppelt starten.
Nach einer WeiterleitungnieDas erste Ziel kann den Auftrag schon ausgeführt haben.
403, 404 und andere 4xxnieEin 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