Spis treści
Co to jest WP Crontrol i kiedy się przydaje
WP Crontrol to wtyczka, która odsłania mechanizm WP-Cron i pozwala zarządzać wszystkimi zaplanowanymi zadaniami w WordPress. Dzięki niej zobaczysz listę zdarzeń, uruchomisz je ręcznie, zmienisz harmonogram lub usuniesz problematyczne wpisy. Przydaje się w sklepach, serwisach z automatycznymi publikacjami, integracjami e-commerce, newsletterami oraz wszędzie tam, gdzie cykliczne zadania muszą działać punktualnie. WP Crontrol ułatwia diagnostykę gdy widzisz opóźnienia, komunikaty o missed schedule albo masz wątpliwości, czy automatyzacje działają poprawnie.
Jak działa WP-Cron w WordPress i czym różni się od systemowego crona
WP-Cron to harmonogram uruchamiany żądaniami HTTP, a nie przez systemowy demon cron. Zdarzenia wywoływane są przy ruchu na stronie – gdy nikt nie odwiedza witryny, zadania mogą się spóźniać. Wtyczka WP Crontrol nie zastępuje WP-Cron, tylko daje nad nim kontrolę: podgląd zdarzeń, edycję ich parametrów oraz szybkie uruchomienie na żądanie. W witrynach o krytycznych SLA często łączy się WP-Cron z prawdziwym cronem serwera, który regularnie wywołuje wp-cron.php niezależnie od ruchu.
Instalacja i pierwsze uruchomienie
- W Kokpicie wybierz Wtyczki – Dodaj nową.
- Wpisz WP Crontrol, zainstaluj i włącz.
- W menu Narzędzia znajdziesz pozycję do zarządzania cronem oraz listę zaplanowanych zdarzeń.
Po wejściu zobaczysz tabelę z hookami, interwałem, planowaną datą kolejnego uruchomienia, argumentami i źródłem. Kolumny z błędami ostrzegą o nieudanych wywołaniach lub brakujących hookach, co często tłumaczy “zastane” procesy, takie jak kolejki e-mail lub synchronizacje.
Przeglądanie, filtrowanie i szybkie akcje
- Uruchom teraz – natychmiastowe wywołanie pojedynczego zdarzenia bez czekania na harmonogram.
- Edytuj – zmiana daty najbliższego uruchomienia, interwału i argumentów.
- Usuń – bezpieczne skasowanie wpisu, gdy hook jest osierocony lub już niepotrzebny.
- Pauza lub wyłączenie cykliczności – pomocne przy testach lub chwilowym wstrzymaniu ciężkich zadań.
WP Crontrol prezentuje też harmonogramy zdefiniowane w systemie. Dzięki temu szybko sprawdzisz, jakie interwały oferują motyw i wtyczki oraz czy nie wprowadzono konfliktowych wartości.
Dodawanie nowych zdarzeń i interwałów
Wtyczka pozwala tworzyć jednorazowe i cykliczne zadania. Wybierz “Dodaj zdarzenie”, podaj nazwę hooka, datę uruchomienia, opcjonalne argumenty i interwał, jeśli ma być powtarzalne. Do jednorazowych zadań wybierz Uruchom raz i wskaż konkretną datę. Dla cyklicznych wybierz istniejący interwał lub dodaj własny.
Jeśli potrzebujesz niestandardowego interwału, np. co 5 minut, dodaj go w sekcji “Harmonogramy” lub w kodzie:
add_filter('cron_schedules', function($schedules){
$schedules['co_5_min'] = [
'interval' => 5 * 60,
'display' => 'Co 5 minut'
];
return $schedules;
});
Typowe zastosowania w praktyce
- Publikacja wpisów zaplanowanych na konkretną godzinę i sprawdzanie, czy nie utknęły.
- Czyszczenie cache, transjentów i sesji, aby ograniczyć rozrost bazy.
- Synchronizacja produktów i stanów magazynowych w sklepie.
- Wysyłka przypomnień e-mail, powiadomień i raportów cyklicznych.
- Zadania integracyjne z CRM lub narzędziami marketing automation.
Z WP Crontrol łatwo podejrzeć, czy zadania odważnych wtyczek nie nakładają się, a w razie potrzeby rozsunąć je w czasie.
Diagnostyka problemów: missed schedule, opóźnienia i błędy
- Sprawdź, czy strona ma ruch. WP-Cron odpala się przy żądaniach. Na niskim ruchu rozważ wywołanie systemowym cronem.
- Zbadaj błędy pętli zwrotnej. Problemy z loopback request potrafią blokować WP-Cron. W Site Health często widać ostrzeżenia.
- Zmniejsz masę pojedynczych zadań. Długie procesy rozbij na mniejsze serie i kolejki.
- Skontroluj blokady na poziomie hostingu. Ograniczenia cURL, firewall lub uwierzytelnianie HTTP potrafią zatrzymać żądania.
- Obejrzyj logi PHP. Fatal error w hooku przerwie zadanie i zostawi je jako nieukończone.
W WP Crontrol możesz uruchomić problematyczny hook ręcznie i od razu sprawdzić, czy wywołanie kończy się błędem.
Integracja z cronem systemowym i konfiguracja DISABLE_WP_CRON
Na środowiskach o wysokiej dostępności warto odłączyć uruchamianie WP-Cron przy każdym żądaniu i zastąpić je prawdziwym cronem systemu. W wp-config.php ustaw define('DISABLE_WP_CRON', true);
. Na serwerze dodaj zadanie cron, które co 1-5 minut wywołuje wp-cron.php. Przykład z curl:
*/5 * * * * curl -s https://twoja-domena.pl/wp-cron.php?doing_wp_cron=1 > /dev/null 2>&1
Taki układ stabilizuje harmonogram i uniezależnia go od ruchu. WP Crontrol nadal pozostaje wygodnym interfejsem do podglądu i testów.
WP-CLI jako uzupełnienie pracy z WP Crontrol
wp cron event list
– lista zdarzeń.wp cron event run nazwa_hooka
– ręczne uruchomienie.wp cron schedule list
– dostępne interwały.
WP Crontrol i WP-CLI świetnie się uzupełniają: GUI do diagnozy i edycji, CLI do automatyzacji w pipeline CI oraz zadań jednorazowych.
Bezpieczeństwo i uprawnienia
- Dostęp do edycji harmonogramu powinien mieć wyłącznie administrator.
- Nie uruchamiaj ręcznie zdarzeń, których działania nie rozumiesz.
- Testuj nowe hooki na stagingu, szczególnie te, które dotykają płatności lub zamówień.
- Włącz logowanie błędów i ograniczaj długotrwałe operacje w pojedynczym wywołaniu.
- Dokumentuj nazwy własnych hooków i ich argumenty.
Wydajność: dobre praktyki dla dużych witryn
- Konsoliduj zadania podobnego typu i rozkładaj je w czasie.
- Stosuj krótkie timeouts i retry z backoff w zapytaniach zewnętrznych.
- Czyść osierocone zdarzenia po odinstalowanych wtyczkach.
- Monitoruj czas wykonania krytycznych hooków i limity zasobów PHP.
Najczęstsze problemy i szybkie rozwiązania
- Zdarzenie uruchamia się z opóźnieniem – użyj crontaba do wywoływania wp-cron.php.
- Brakujące hooki po zmianie motywu – usuń osierocone wpisy.
- cURL error lub 401/403 – sprawdź zaporę i uwierzytelnianie.
- Zadanie trwa za długo – podziel logikę na mniejsze kroki.
- Duplikujące się zdarzenia – rejestruj zadania warunkowo, nie na każdym żądaniu.
Przykładowy workflow zespołowy z WP Crontrol
- Programista dodaje hook i interwał w kodzie oraz opisuje go w dokumentacji.
- Administrator w WP Crontrol weryfikuje, czy nowe zdarzenie pojawiło się na liście i uruchamia je testowo.
- Obserwuj logi i Site Health po wdrożeniu.
- Po akceptacji przenieś wywołania na crontab serwera.
- Co miesiąc przeglądaj listę zdarzeń, usuwaj osierocone i koryguj interwały.
Dzięki WP Crontrol harmonogram w WordPress przestaje być czarną skrzynką. Zyskujesz wgląd, możliwość szybkiego reagowania i pewność, że kluczowe automatyzacje działają wtedy, kiedy powinny.