WordPress-Cron-Jobs (WP-Cron) erledigen geplante Aufgaben wie das Veröffentlichen von Beiträgen, das Versenden von E-Mails oder das Ausführen von Plugin-Updates. Im Gegensatz zu herkömmlichen Server-Cron-Jobs wird WP-Cron durch Website-Besuche ausgelöst, was manchmal zu Problemen führen kann, wenn es nicht richtig konfiguriert ist. In diesem Leitfaden wird erläutert, wie Sie überprüfen können, ob WP-Cron korrekt funktioniert.
Voraussetzungen
- Zugang zu Ihrem WordPress-Administrations-Dashboard.
- FTP/SFTP-Zugang oder Dateimanager-Zugang zu Ihrer WordPress-Installation (optional für einige Methoden).
- Grundkenntnisse über WordPress-Plugins und Serverumgebungen.
Coupon Affiliates Cron Jobs
Coupon Affiliates erstellt und betreibt die folgenden Cron-Jobs:
- wcusage_reports - Für geplante Partnerberichte.
- wcusage_payoutschedule - Für geplante Auszahlungsanträge.
- wcusage_cronjob - Zur täglichen Überprüfung der verzögerten Provision für Aufträge.
- wcusage_twicedaily_conversion_rates - Zur Überprüfung und Aktualisierung der Konversionsraten.
Methoden zur Überprüfung von WP-Cron
1. Verwenden Sie ein Cron Monitoring Plugin
Plugins wie WP-Crontrol oder Erweiterter Cron Manager bieten eine benutzerfreundliche Möglichkeit zur Überprüfung und Verwaltung von Cron-Jobs.
Schritte:
- Installieren Sie das Plugin:
- Gehen Sie zu Ihrem WordPress-Administrations-Dashboard.
- Navigieren Sie zu Plugins > Neu hinzufügen.
- Suchen Sie nach "WP-Crontrol" oder "Advanced Cron Manager".
- Installieren und aktivieren Sie das Plugin.
- Cron-Ereignisse prüfen:
- Für WP-Crontrol:
- Gehe zu Werkzeuge > Cron-Ereignisse im WordPress-Verwaltungsmenü.
- Überprüfen Sie die Liste der geplanten Cron-Jobs, ihre Haken, Zeitpläne und nächsten Laufzeiten.
- Für Advanced Cron Manager:
- Gehe zu Werkzeuge > Cron Manager.
- In der Ereignistabelle finden Sie Einzelheiten zu den aktiven Cron-Jobs.
- Für WP-Crontrol:
- Einen Cron-Auftrag testen:
- In WP-Crontrol können Sie einen Cron-Job manuell ausführen, indem Sie auf Jetzt laufen neben einem Ereignis.
- Überprüfen Sie, ob die Aufgabe (z. B. eine geplante Post) wie erwartet ausgeführt wird.
- Auf Fehler prüfen:
- Achten Sie auf Fehlermeldungen oder hängengebliebene Aufträge (z. B. keine "Next Run"-Zeit oder wiederholte Fehlschläge).
- Vergewissern Sie sich, dass der Cron-Zeitplan mit Ihren Erwartungen übereinstimmt.
Warum diese Methode?
Plugins bieten eine visuelle Schnittstelle, die das Debuggen von Problemen erleichtert, ohne den Code zu berühren. Sie ermöglichen auch die manuelle Auslösung und zeigen den Echtzeitstatus an.
2. Serverprotokolle oder Debugging prüfen
Wenn WP-Cron nicht wie erwartet läuft, könnten Serverprobleme oder deaktiviertes Cron die Ursache sein.
Schritte:
- Debugging in WordPress aktivieren:
- Bearbeiten Sie Ihr
wp-konfig.php
Datei und fügen Sie hinzu:define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
- Dies protokolliert Fehler in
wp-content/debug.log
.
- Bearbeiten Sie Ihr
- WP-Cron-Aktivität überwachen:
- Fügen Sie Folgendes zu Ihrem
wp-konfig.php
um WP-Cron-Ereignisse zu protokollieren:define('WP_CRON_LOG', true);
- Überprüfen Sie das Debug-Protokoll auf Cron-bezogene Einträge, nachdem Sie WP-Cron ausgelöst haben (z. B. durch den Besuch Ihrer Website).
- Fügen Sie Folgendes zu Ihrem
- Server-Cron prüfen (falls WP-Cron deaktiviert ist):
- Wenn Sie WP-Cron deaktiviert haben (über
define('DISABLE_WP_CRON', true);
inwp-konfig.php
) und einen Server-Cron-Job einrichten, überprüfen Sie den Cron-Job in der Systemsteuerung Ihres Servers (z. B. cPanel) oder in crontab:crontab -l
- Stellen Sie sicher, dass der Cron-Job den folgenden Befehl alle 5-15 Minuten ausführt:
wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
- Prüfen Sie die Serverprotokolle (z. B.,
/var/log/cron
) für Ausführungsfehler.
- Wenn Sie WP-Cron deaktiviert haben (über
Warum diese Methode?
Debugging und Protokolle helfen dabei, tiefer gehende Probleme zu erkennen, wie z. B. Fehlkonfigurationen des Servers oder deaktiviertes WP-Cron.
3. Test mit einem geplanten Dummy-Task
Erstellen Sie einen Test-Cron-Job, um zu überprüfen, ob WP-Cron funktioniert.
Schritte:
- Einen Test-Cron-Auftrag hinzufügen:
- Fügen Sie den folgenden Code zu Ihrem Theme hinzu
funktionen.php
oder ein benutzerdefiniertes Plugin:
- Fügen Sie den folgenden Code zu Ihrem Theme hinzu
add_action('my_test_cron_job', 'my_test_cron_function');
function my_test_cron_function() {
error_log('Test-Cron-Job lief um ' . current_time('mysql'));
}
if (!wp_next_scheduled('my_test_cron_job')) {
wp_schedule_event(time(), 'hourly', 'my_test_cron_job');
}
- WP-Cron auslösen:
- Besuchen Sie Ihre Website oder führen Sie manuell
wp-cron.php
wie bereits beschrieben.
- Besuchen Sie Ihre Website oder führen Sie manuell
- Überprüfung der Ausführung:
- Prüfen Sie die
wp-content/debug.log
Datei für die protokollierte Nachricht (stellen Sie sicher, dassWP_DEBUG_LOG
aktiviert ist). - Alternativ können Sie auch WP-Crontrol verwenden, um die
mein_test_cron_job
ist geplant und läuft.
- Prüfen Sie die
Warum diese Methode?
Diese Methode bestätigt die Funktionalität von WP-Cron auf kontrollierte Weise und isoliert Probleme auf WP-Cron selbst.
Häufige Probleme und deren Behebung
- WP-Cron triggert nicht:
- Vergewissern Sie sich, dass Ihre Website genügend Traffic hat, um WP-Cron auszulösen. Für Websites mit geringem Datenverkehr sollten Sie WP-Cron deaktivieren und einen Server-Cron-Job verwenden.
- Prüfung auf
define('DISABLE_WP_CRON', true);
inwp-konfig.php
. Falls vorhanden, stellen Sie sicher, dass ein Server-Cron-Job eingerichtet ist.
- Festgefahrene oder verzögerte Aufträge:
- Löschen Sie festgefahrene Aufträge mit WP-Crontrol oder Advanced Cron Manager.
- Prüfen Sie auf Plugin-Konflikte, indem Sie Plugins vorübergehend deaktivieren.
- Server-Einschränkungen:
- Einige Hosts blockieren
wp-cron.php
oder die Cron-Ausführung einschränken. Wenden Sie sich zur Bestätigung an Ihren Hosting-Provider.
- Einige Hosts blockieren
- SSL-Probleme:
- Wenn Ihre Website HTTPS verwendet, stellen Sie sicher, dass der Server-Cron-Job das richtige Protokoll verwendet (
https://
).
- Wenn Ihre Website HTTPS verwendet, stellen Sie sicher, dass der Server-Cron-Job das richtige Protokoll verwendet (
Bewährte Praktiken
- Verwenden Sie einen Server-Cron für stark frequentierte Websites: Deaktivieren Sie WP-Cron und einen Server-Cron-Job einrichten um die Belastung bei Seitenbesuchen zu verringern:
- Regelmäßig überwachen: Verwenden Sie Plugins wie WP-Crontrol, um regelmäßig den Zustand der Cron-Programme zu überprüfen.
- Plugins auf dem neuesten Stand halten: Veraltete Plugins können Cron-Konflikte oder Fehler verursachen.
- Test nach Änderungen: Testen Sie Cron-Jobs immer, nachdem Sie Plugins, Themes oder Servereinstellungen geändert haben.
Schlussfolgerung
Die Überprüfung von WP-Cron in WordPress ist mit Plugins wie WP-Crontrol oder manuellen Methoden wie Datenbankinspektion und Debugging einfach. Wenn Sie die obigen Schritte befolgen, können Sie bestätigen, dass Ihre geplanten Aufgaben wie erwartet ausgeführt werden, und eventuelle Probleme beheben. Für eine optimale Leistung sollten Sie in Erwägung ziehen, WP-Cron auf einen Server-Cron-Job auszulagern, insbesondere bei Websites mit hohem Traffic oder komplexen Aufgaben.