Fehlerbehebung

„Missed schedule“ bei geplanten Beiträgen diagnostizieren

Geprüft am 4 Min. Lesezeit WordPress Cron Fehler

Nachdem Sie einen Beitrag geplant haben, kann Missed schedule erscheinen. Der Hinweis bestätigt, dass die Veröffentlichung nicht zur vorgesehenen Zeit abgeschlossen wurde, sagt aber nicht, ob Traffic fehlte, eine Loopback-Anfrage fehlschlug oder beim Veröffentlichen ein Fehler auftrat.

1. Einen kontrollierten Test protokollieren

Planen Sie einen Testbeitrag für einige Minuten später und notieren Sie Uhrzeit und Zeitzone. Wenn die Zeit vorbei ist, besuchen Sie die Website einmal:

  • Wird der Beitrag nach dem Besuch veröffentlicht, ist eine vom Traffic abhängige Ausführung eine starke Vermutung.
  • Bleibt er ausstehend, prüfen Sie das PHP-Protokoll zu dieser Uhrzeit, Werkzeuge > Website-Zustand und jeden Fehler einer Loopback-Anfrage.

Prüfen Sie auch, ob wp-config.php die Zeile define('DISABLE_WP_CRON', true); enthält. Dieser Wert verhindert, dass Besuche WP-Cron starten; ändern Sie ihn erst, wenn Sie bestätigt haben, ob auf dem Server ein echter Cronjob existiert.

2. Das Ereignis prüfen

Mit WP-CLI können Sie die Ereignisse auflisten und ihre nächste Ausführung mit der aktuellen Uhrzeit vergleichen:

wp cron event list --fields=hook,next_run_gmt,next_run_relative

Suchen Sie das Veröffentlichungsereignis des Tests. Löschen Sie keine wiederkehrenden Ereignisse, ohne die Komponente zu kennen, die sie registriert hat. Der folgende Befehl führt alle fälligen Ereignisse aus, nicht nur die Veröffentlichung: Er kann E-Mails senden oder Shop-Aufgaben auslösen. Nutzen Sie ihn in Staging oder nachdem Sie seine Auswirkungen in dieser Installation geprüft und freigegeben haben:

wp cron event run --due-now

Prüfen Sie danach, ob der Beitrag veröffentlicht wird, und sehen Sie ins PHP-Protokoll derselben Uhrzeit. Diese Ausführung bestätigt nur, dass das Ereignis in diesem Moment abgeschlossen werden konnte; sie erklärt die Verzögerung nicht.

3. Einen echten Cronjob nur bei Bedarf einrichten

Wenn Sie bestätigt haben, dass Traffic fehlt, folgen Sie der Anleitung, um WP-Cron durch eine Aufgabe des Servers zu ersetzen. Legen Sie die Aufgabe zuerst an und testen Sie sie. Danach können Sie DISABLE_WP_CRON auf true setzen, um doppelte Ausführungen zu vermeiden.

Planen Sie einen weiteren Beitrag und bestätigen Sie, dass er veröffentlicht wird, ohne die Website zu besuchen. Prüfen Sie mehrere Ausführungen und führen Sie vorübergehend ein Fehlerprotokoll. Ein Cron-Plugin kann helfen, die Warteschlange zu untersuchen, behebt aber weder einen blockierten Loopback noch einen PHP-Fehler oder eine falsch konfigurierte Aufgabe des Servers.

Uhrzeit und Umfang des Tests

next_run_gmt ist in UTC angegeben und kann von der für die Website eingestellten Uhrzeit abweichen. Prüfen Sie beide, bevor Sie schließen, dass das Ereignis verspätet ist. Führen Sie WP-CLI im richtigen Verzeichnis und mit dem PHP und Benutzer dieser Installation aus; bei Multisite ermitteln Sie auch die Website, zu der der Beitrag gehört.

Ein Testbeitrag kann öffentlich werden und Benachrichtigungen an Abonnenten auslösen. Nutzen Sie Staging oder Inhalte, die für diesen Zweck vorbereitet sind. wp cron event list zeigt die aktuelle Planung, keinen Verlauf erfolgreicher Ausführungen.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.