iControlWP

In diesem Artikel erklären wir:

  • Was ist der WP Cron?
  • Wie funktioniert er?
  • Warum schlägt er fehl?
  • Welche Probleme verursachen WP Cron Fehler?
  • Wie man WP Cron repariert

So, fangen wir an…

Was ist WP Cron?

Cron ist ein UNIX-Befehl zur Planung von Jobs, die irgendwann in der Zukunft ausgeführt werden sollen. Er wird normalerweise verwendet, um einen Job zu planen, der periodisch ausgeführt wird.

WordPress verwendet eine Datei namens wp-cron.php als virtuellen Cron-Job oder geplante Aufgabe, um Dinge zu automatisieren wie

  • Veröffentlichen von geplanten Beiträgen
  • Prüfen auf Plugin- oder Theme-Updates
  • Benachrichtigungen per E-Mail versenden
  • Sichern
  • Automatische WordPress-Updates
  • …. und so weiter.

Wie funktioniert es?

Bei jedem Laden einer Seite überprüft WordPress, ob WP Cron ausgeführt werden muss. Wenn dies der Fall ist, wird versucht, eine HTTP-Anfrage an die Datei wp-cron.php zu stellen.

Durch den Aufruf dieser Datei wird WP Cron als separater Prozess im Hintergrund ausgeführt, ohne die Ladezeit der Seite für den Benutzer zu verzögern. Wenn WP Cron einmal gestartet ist, läuft er so lange, bis alle erforderlichen Aufgaben erledigt sind oder bis er eine in der Serverkonfiguration festgelegte Ausführungszeit erreicht.

Es ist wichtig zu erklären, dass WordPress in seiner Standardkonfiguration keinen echten Cron-Job für die Zeitplanung und andere damit verbundene Aufgaben verwendet. Stattdessen führt WordPress jedes Mal, wenn eine Seite auf einer WordPress-Website geladen wird, die Datei wp-cron.php aus. Sie fragt im Grunde „Ist es schon Zeit, etwas zu tun?“.

Wenn zum Zeitpunkt des Seitenladens irgendwelche Aufgaben geplant sind, werden sie ausgeführt. Dabei ist jedoch zu beachten, dass WP Cron nicht ständig läuft, wie der System-Cron.

WP Cron wird nur beim Laden einer Seite ausgelöst – also wenn jemand eine Seite auf Ihrer Site besucht. Das bedeutet, wenn Sie beispielsweise eine Aufgabe für 16:00 Uhr geplant haben, aber bis 22:00 Uhr keine Besucher haben, wird Ihre Aufgabe erst dann ausgeführt.

Hinweis: Manchmal sehen Sie URLs mit ?doing_wp_cron= gefolgt von einer Zahlenfolge.

Zum Beispiel:

https://example.com/what-is-wp-cron-article?doing_wp_cron=123456.874251298799871371475

Das passiert, weil WordPress, um eine Hintergrundverarbeitung durchzuführen (wie die Veröffentlichung geplanter Beiträge), Sie auf die URL mit ?doing_wp_cron anhängt.

Lesen Sie hier mehr darüber.

Warum scheitert es?

Wenn also jemand auf einer beliebigen Seite Ihrer WordPress-Site landet, könnte die wp-cron.php-Datei auf und prüft, ob sie etwas senden muss

Bei vielen WordPress-Hosts läuft dies wie vorgesehen. Einige Hoster verhindern jedoch, dass diese Funktion ausgeführt wird, da dies bedeutet, dass eine große Anzahl von Besuchern die virtuellen Cron-Jobs sehr oft auslösen kann, wodurch die Ressourcen auf Ihrem Server verbraucht werden. Es ist auch eine potentielle Sicherheitslücke.

Ein weiterer Grund ist, dass einige Plugins und Themes fatale Fehler während der Cron-Verarbeitung verursachen können (da sie möglicherweise nicht korrekt getestet wurden) und dies den Ablauf des Cron-Prozesses unterbrechen wird.

Tipp: Es ist zwar nicht aussagekräftig und dient nur als Anhaltspunkt bei größeren Problemen, aber auf dem Sicherheits-Dashboard für Shield gibt es unter dem Abschnitt „Recent Events Log“ einen Eintrag, der anzeigt, wann der einfache Test-Cron das letzte Mal gelaufen ist:

Das zeigt Ihnen, ob Ihre Cron-Prozesse im Allgemeinen funktionieren oder nicht. Es bedeutet nicht, dass alle Ihre Crons funktionieren, aber es bedeutet, dass Ihr WP Cron-System wahrscheinlich in Ordnung ist.

Hinweis: Sie können WP Cron manuell auslösen. Das erste, was Sie tun müssen, ist, den Link zu konstruieren, und das geht so:

  1. Nehmen Sie Ihre Admin-URL, z.B. example.com/wp-admin/
  2. Ersetzen Sie „/wp-admin/“ durch „/wp-cron.php?setcronjob“

Der Link sieht dann so aus:

example.com/wp-cron.php?setcronjob

Öffnen Sie diesen Link einfach in einem separaten Tab und der WP Cron wird ausgelöst.

Welche Probleme verursachen WP Cron Fehler?

Wenn der Cron nicht richtig läuft:

  • Die automatischen Updates von WordPress werden nicht ausgeführt
  • Die Suche nach Plugin- oder Theme-Updates schlägt fehl
  • Posts werden nicht veröffentlicht
  • Wenn WordPress keinen echten Cron-Job für die Planung und andere verwandte Aufgaben verwendet, schlagen E-Mail-Benachrichtigungen, automatische Verlängerungen, Abrechnungen, In/Out-Benachrichtigungen fehl.
  • Seitensicherung schlägt bei Backup-Plugins fehl, die vom Cron abhängig sind

Auch

  • Es kann eine lange Verzögerung zwischen veröffentlichten Updates und installierten Updates geben
  • Premium-Plugins binden ihren Update-Code nicht korrekt ein

    Einige Premium-Plugins haben ihren benutzerdefinierten Update-Code nicht mit dem WordPress-Cron getestet. Das bedeutet, dass ihr Aktualisierungscode nicht funktioniert, wenn der Cron ausgeführt wird, und dass automatische Aktualisierungen von Premium-Assets fehlschlagen.

Dies sind nur einige der auffälligsten Probleme, die wir gesehen haben.

Bitte beachten Sie, dass, wenn der Cron nicht funktioniert, alle automatischen Aufgaben fehlschlagen werden.

Wie man den WP Cron repariert

Der WP Cron kann problematisch sein und die Eingrenzung, wo ein Cron abstürzt, ist eine knifflige Aufgabe.

Wir empfehlen Ihnen, diesen Artikel hier zu lesen.

Sie können auch lesen:

  • Warum funktionieren die automatischen Updates von WordPress nicht immer?

Leave a Reply