Panel administracyjny do cyklicznego wykonywania zadań cron

Co to jest cron? Jak działa? Jak używać?

Cron odpowiada za cykliczne uruchamiania określonych zadań, np. Sprawdzanie aktualizacji, publikacja zaplanowanych wpisów przez użytkownika czy automatyczne tworzenie kopii zapasowych. Cron w systemach opartych o Unix, takich jak Linux, to odpowiednik harmonogramu zadań z systemu Windows. W WordPressie taką funkcję pełni WP-Cron.

Jedną z głównych różnic jest to, że mechanizm WP-Cron uruchamia się wraz z każdym wejściem na stronę. Wtedy też sprawdza czy ma do uruchomienia jakieś zadania i wykonuje je. Tak działa standardowe ustawienie w linuxie. Niestety nie jest ono optymalne ponieważ sprawdzanie listy zadań podczas każdego wejścia na stronę często jest bezcelowe. Dodatkowo, w przypadku dużego ruchu, takie działanie ma znaczący wpływ na ogólną wydajność i może odpowiadać za opóźnienia w ładowaniu się strony.

Istnieje jednak rozwiązanie tego problemu w postaci użycia crona systemowego dla użytkownika do uruchamiania WP-Crona. Z tego poradnika dowiesz się jak to wykona

Co to jest cron? Jak działa? Jak używać?

Cron odpowiada za cykliczne uruchamiania określonych zadań, np. Sprawdzanie aktualizacji, publikacja zaplanowanych wpisów przez użytkownika czy automatyczne tworzenie kopii zapasowych. Cron w systemach opartych o Unix, takich jak Linux, to odpowiednik harmonogramu zadań z systemu Windows. W WordPressie taką funkcję pełni WP-Cron.

Jedną z głównych różnic jest to, że mechanizm WP-Cron uruchamia się wraz z każdym wejściem na stronę. Wtedy też sprawdza czy ma do uruchomienia jakieś zadania i wykonuje je. Tak działa standardowe ustawienie w linuxie. Niestety nie jest ono optymalne ponieważ sprawdzanie listy zadań podczas każdego wejścia na stronę często jest bezcelowe. Dodatkowo, w przypadku dużego ruchu, takie działanie ma znaczący wpływ na ogólną wydajność i może odpowiadać za opóźnienia w ładowaniu się strony.

Istnieje jednak rozwiązanie tego problemu w postaci użycia crona systemowego dla użytkownika do uruchamiania WP-Crona. Z tego poradnika dowiesz się jak to wykonać.

Kiedy warto korzystać z Cron?

 

Cron jest przydatnym narzędziem do wykonywania określonych zadań automatycznie w ustalonych terminach. Warto korzystać z Cron, gdy chcemy regularnie wykonywać konkretne operacje, takie jak tworzenie kopii zapasowych danych, przetwarzanie plików, wysyłanie raportów itp. Dzięki Cronowi, użytkownik może zaprogramować zadania, które będą wykonywane codziennie, co tydzień, co miesiąc lub w dowolnym innym interwale czasowym. Jest to szczególnie przydatne w przypadku powtarzających się rutynowych czynności, które mogą być łatwo zapomniane lub które wymagają wykonania o określonej porze. Dodatkowo, korzystając z Crona, możemy zoptymalizować wydajność naszego systemu poprzez wykonywanie zadań w godzinach o minimalnym obciążeniu. Warto korzystać z Cron, jeśli jako użytkownik chcemy usprawnić i zautomatyzować pewne procesy w naszym systemie linux, co pozwoli nam zaoszczędzić czas i wysiłek.

Cron systemowy

Zanim zabierzemy się do konfiguracji WordPressa spójrzmy na cron systemowy. Żeby móc dodawać do niego zadania musimy użyć SSH oraz polecenia crontab.
crontab -l -> pokaże nam aktualne zadania,
crontab -e -> uruchomi edytor, w którym możemy usuwać, modyfikować i dodawać zadania.

Najpierw jednak musimy przygotować polecenie w odpowiednim formacie. Najwygodniej zrobić to przy pomocy https://crontab.guru/. Załóżmy, że chcemy dodać wywoływanie skryptu http://mojadomena.pl/powiadomienia.php w co drugą pełną godzinę w poniedziałki. 

Konfiguracja wyglądać będzie następująco:

0 */2 * * 1 curl -s http://mojadomena.pl/powiadomienia.php >/dev/null 2>&1

>/dev/null 2>&1 powoduje przekierowanie ewentualnych błędów w “nicość”. Cron systemowy wysyła maila w przypadku wystąpienia błędu podczas wykonywania. W naszym przypadku nie chcemy dostawać takich maili.

Jeśli jednak chciałbyś je otrzymywać to na samej górze w edytorze crontaba należy dodać:

MAILTO=skrzynka@mojadomena.pl

oraz usunąć fragment >/dev/null 2>&1.

Pamiętaj też, że edycja crontaba otwiera się w domyślnym na serwerze edytorze tekstu. Jeśli chcesz użyć swojego to ustaw zmienną środowiskową EDITOR. Możesz to zrobić np. tak:

EDITOR=nano crontab -e (wszystko w jednej linii)

Teraz możemy przejść do WordPressa.

WP-Cron + cron systemowy

Najpierw musimy wyłączyć domyślny mechanizm WP-Cron. Do pliku wp-config.php dodajemy następujący kod:

define('DISABLE_WP_CRON', true)

Następnie ustawiamy cron systemowy, aby co określony przedział czasu wywoływał naszego WP-Crona (np. co 30 minut):

*/30 * * * * curl -s https://mojastronaXYZ.pl/wp-cron.php >/dev/null 2>&1

Voilà! Zrobione 🙂

Cron w WordPressie

Chcesz dowiedzieć się więcej o tym jak tworzyć i przeglądać zadania w WordPressie? Zapoznaj się z naszym materiałem na blogu.

Dowiedz się więcej – Zadania CRON w WordPressie.