Czym jest WP-Cron i kiedy "prawdziwe" cronjoby są przydatne dla Twojej strony WordPress ?

7 Min.

Planowanie publikacji postów w WordPress , sprawdzanie Plugins pod kątem aktualizacji, tworzenie kopii zapasowych - to typowe przykłady zadań, które powtarzają się wielokrotnie. I tu właśnie WP-Cron wchodzi do gry w WordPress . Co to oznacza i kiedy zadania cron po stronie serwera mają więcej sensu, wyjaśniamy w tym poście.

Jak wiesz, Twój komputer konsekwentnie i z ogromną prędkością wykonuje niezliczone obliczenia z jedynkami i zerami, z których wszystkie mają do wykonania określone zadanie. Wiele z nich to zadania, które trzeba powtarzać. I tak w kółko - jak mycie zębów. Mam więc do pana następujące pytanie:

Gdybyś mógł zautomatyzować mycie zębów, zrobiłbyś to?

Twoja strona WordPress ma zautomatyzowane zadania konserwacyjne, które musi wykonywać regularnie. W tym artykule przyjrzymy się, czym są te zadania, jakie problemy mogą powodować i jak RAIDBOXES sprawia, że zarządzanie nimi jest super łatwe.

Za każdym razem, gdy twój lokalny komputer wyświetla wyskakujący komunikat o znalezieniu aktualizacji lub gdy do twojej skrzynki odbiorczej przychodzi wiadomość e-mail, prawie na pewno za kulisami działa cronjob.

Co to jest Cron? 

Cron to polecenie planowania zadań, które jest zintegrowane w systemach opartych na Linuksie - takich jak Ubuntu, Debian czy nawet Mac OSX - a także na serwerach. W systemie Windows funkcja ta nosi nazwę "Task Scheduler".

Dokumentację na temat używania funkcji cron w tych systemach można znaleźć tutaj: 

Czym w ogóle zajmuje się Cron?

Zadaniem crona jest wykonywanie powtarzających się zadań - na przykład sprawdzanie dostępności aktualizacji lub wysyłanie i odbieranie e-maili. Zazwyczaj jest to ustawione domyślnie. Ale im więcej oprogramowania masz zainstalowanego na komputerze, tym więcej zadań zostanie najprawdopodobniej dodanych. Na przykład, poniższy zrzut ekranu pokazuje cronjob w Task Scheduler w Windows 10. 

Czym jest WP-Cron i kiedy "prawdziwe" cronjoby są przydatne dla Twojej strony WordPress  ?

Zastanawiasz się, jak to działa? Cron działa poprzez planowanie zadań w oparciu o czas urządzenia, i może być ustawiony na minutę, godzinę, dzień, tydzień, miesiąc i rok. W programie Cron ustawia się konkretny czas, w którym ma zostać wykonana dana czynność. 

Czym jest WP-Cron?

WordPress Cron, znany również jako WP-Cron, jest plikiem PHP, który zwykle można znaleźć w katalogu głównym instalacji WordPress . 

Czym jest WP-Cron i kiedy "prawdziwe" cronjoby są przydatne dla Twojej strony WordPress  ?

A co robi WP-Cron?

Plik cron WordPress (wp-cron.php) zawiera zautomatyzowane zadania, które musi wykonać twoja instalacja WordPress . Na przykład, rzeczy takie jak sprawdzanie aktualizacji na Plugins i WordPress lub publikowanie zaplanowanych postów. Aby uzyskać więcej informacji, zobacz dokumentację"Co to jest WP-Cron" w oficjalnym podręczniku WordPress Plugin Handbook. 

WP-Cron kontra Cron

Główną różnicą między WordPress cron a harmonogramem cron jest to, że wp-cron.php jest wykonywany tylko wtedy, gdy użytkownik odwiedza twoją stronę i wywołuje ładowanie strony. Oznacza to, że WordPress wymaga żądania HTTP/HTTPS z Twojej strony internetowej, aby uruchomić zaplanowane zadania. Zadanie crona jest następnie ustawiane w kolejce do wykonania. 

Możecie się zastanawiać, i słusznie:

Dlaczego WP Cron działa tylko wtedy, gdy użytkownik odwiedza moją stronę! 

Cóż, wiele WordPress hostów tylko oferują hosting współdzielony, co zwykle oznacza, że gospodarz nie daje dostępu do polecenia cron. Ponieważ gdyby tak się stało, miałbyś dostęp do poleceń serwera, a wszystkie dane na serwerze byłyby potencjalnie zagrożone. Więc WordPress Cron jest obejściem tego problemu.

Drugą różnicą jest to, że używając Crona, możesz ustawić konkretny czas (na przykład, 17:00 dziennie, aby uruchomić zadanie). W WP-Cron, z drugiej strony, ustawiasz interwały (na przykład, 14:00 i interwał X po tym). WP-Cron następnie wykonuje zadanie w tych odstępach czasu, tak długo jak użytkownik odwiedza stronę. Aby uzyskać więcej informacji, zobacz także: Zrozumienie harmonogramu WP-Cron

WP-Cron i wydajność

Ze względu na fakt, że WP-Cron jest uruchamiany za każdym razem, gdy użytkownik odwiedza twoją witrynę, może to powodować problemy zarówno dla małych, jak i dużych witryn. Teraz wyjaśnię dlaczego.

Małe i specyficzne geograficznie strony internetowe

Dla mniejszych stron z niewielkim ruchem, problemem jest to, że zadanie crona nie jest uruchamiane wystarczająco często. Przykład: Co jeśli Twoja strona ma tworzyć kopie zapasowe o 2:00 w nocy, ale masz małą stronę z przewodnikami turystycznymi, która działa tylko w jednym mieście. W tym przypadku jest mało prawdopodobne, że grupa docelowa odwiedzi Twoją witrynę o 2:00 rano i uruchomi cronjob. A jeśli jest to poza sezonem, możesz nie dostać odwiedzającego do swojej witryny na dni. 

Większe strony internetowe i globalny zasięg

Jednak w przypadku stron z dużą liczbą użytkowników, WP-Cron może powodować problemy z wydajnością, a nawet sprawić, że Twoja strona będzie podatna na atak DDoS. Teraz, jeśli prawdopodobnie po prostu spanikowałeś i chwyciłeś za mysz lub kubek z kawą na wzmiankę o ataku DDoS: nie przejmuj się zbytnio, ponieważ na wszystko jest rozwiązanie.

Co jest przyczyną problemu?

Problemem jest natężenie ruchu. Dla dużych stron internetowych, ruch jest oczywiście koniecznością i ważne dla biznesu, więc ograniczenie połączeń nie jest opcja, aby rozwiązać problem. 

Pamiętaj, że każda wizyta na stronie powoduje uruchomienie WP-Cron - a to oczywiście obciąża Twój serwer, ponieważ wymaga zasobów.

Czy istnieje lepszy sposób?

Na szczęście odpowiedź brzmi "tak". Nie możemy łatwo ograniczyć ruchu ulicznego, otworzyć fizycznych sklepów na całym świecie lub zmienić sposobu budowania WordPress . Ale możemy zmienić to, co sprawia, że WP-Cron działa. 

Zamiast uruchamiać wp-cron.php na podstawie odwiedzin strony, możemy skonfigurować zadanie crona na serwerze hostingowym, które uruchamia WP-Cron w określonych odstępach czasu. Pokażę ci, jak to zrobić.

Skonfiguruj wykonywanie wp-cron.php po stronie serwera na RAIDBOXES

Aby maksymalnie ułatwić Ci pracę, zespół RAIDBOXES wbudował tę funkcję bezpośrednio w pulpit nawigacyjny RB. Potrzebujesz dosłownie pięciu kliknięć, aby skonfigurować wykonywanie po stronie serwera WordPress cronjobs! Jeśli jesteś programistą szukającym oszczędności czasu, jest to jeden z najłatwiejszych do wykonania tweaków.

Aby włączyć cronjobs po stronie serwera w pulpicie nawigacyjnym RAIDBOXES , najpierw przejdź do ustawień BOX , a następnie kliknij na "Cronjobs" na pasku bocznym. 

Czym jest WP-Cron i kiedy "prawdziwe" cronjoby są przydatne dla Twojej strony WordPress  ?

Teraz zobaczysz wszystkie ustawienia dla swoich cronjobs. 

Czym jest WP-Cron i kiedy "prawdziwe" cronjoby są przydatne dla Twojej strony WordPress  ?


Teraz powinieneś skonfigurować następujące elementy w cronjobs:

  1. Wyłącz "Run WP-Cron" (zapobiega to uruchamianiu WP-Cron przez odwiedzających stronę).
  2. Włącz "Uruchom WP-Cron po stronie serwera" (to dodaje zadanie cron do serwera, aby uruchomić wp-cron.php w określonym przez ciebie odstępie czasu). 

To wszystko!

Uwaga

Jeśli wyłączysz Run WP-Cron, a także opcję Run WP-Cron po stronie serwera jest wyłączona, żadne zadania cron nie będą uruchamiane na twojej stronie.

Dla tego dostosowania, to nie jest zatem konieczne, aby skontaktować się z hostingodawcą, przejdź do cPanel lub ręcznie edytować swój wp-cron.php plik. Na RAIDBOXES wystarczy kilka kliknięć i możesz monitorować i zarządzać swoimi cronjobs bezpośrednio w pulpicie nawigacyjnym RB. Nie musisz więc instalować dodatkowego Plugin aby zobaczyć swoje cronjobs.

Jeśli chcesz dokonać dalszej konfiguracji, możesz również ustawić interwał, w którym wp-cron.php powinien być wykonywany w pulpicie nawigacyjnym RAIDBOXES .

Czym jest WP-Cron i kiedy "prawdziwe" cronjoby są przydatne dla Twojej strony WordPress  ?

Istnieje wiele spekulacji na temat "najlepszego" interwału dla twoich cronjobs. Zazwyczaj zalecamy nie schodzić poniżej 5 minut. 

Edytuj swoje WordPress cronjobs

Bez Plugins

Jeśli nie chcesz instalować Plugin , aby edytować swój plik wp-cron.php, to nie jest problem! Na stronie RAIDBOXES możesz łatwo zarządzać swoimi cronjobami poprzez pulpit nawigacyjny RB, jak opisano powyżej. Oczywiście, możesz również uzyskać dostęp do swoich cronjobs poprzez połączenie SSH. Po połączeniu się z kontem, możesz edytować wp-cron.php w katalogu głównym witryny WordPress .

Jeśli chcesz dowiedzieć się, jak jeszcze bardziej usprawnić swój przepływ pracy z SSH, najlepiej sprawdź nasz artykuł"The Perfect WordPress Development Workflow with Git & SSH"

Z Plugins

Obecnie najpopularniejszym Plugin do zarządzania WP cronjobs jest"WP Crontrol". Możesz również wyszukać i zainstalować Plugin bezpośrednio w swojej witrynie WordPress pod adresem Plugins i zainstalować go. 

Czym jest WP-Cron i kiedy "prawdziwe" cronjoby są przydatne dla Twojej strony WordPress  ?

Na stronie WP Crontrol Plugin pod adresem WordPress .org można również znaleźć pomocną dokumentację na temat prawidłowego korzystania z Plugin

Ręcznie skonfiguruj serwer, aby uruchomić WP-Cron (nie jest to konieczne w przypadku RAIDBOXES)

Przy odrobinie wysiłku, możesz również skonfigurować swój serwer tak, aby uruchamiał wp-cron.php w określonych odstępach czasu.

  1. Edytuj wp-cron.php 

W wp-cron.php

  • Wyłącz swój plik wp-cron.php poprzez dodanie do niego następującego kodu:
define('DISABLE_WP_CRON', 'true');

Po tym, wp-cron.php nie będzie już wywoływany, gdy użytkownik odwiedzi Twoją stronę.

  1. Dodaj cronjob do swojego serwera

W twoim środowisku serwerowym

W zależności od środowiska hostingowego, jedna z dwóch poniższych opcji może mieć zastosowanie do Twojej konkretnej sytuacji: 

  • Jeśli używasz współdzielonej usługi hostingowej WordPress , skontaktuj się z dostawcą usług hostingowych i poproś ich o dodanie wyzwalacza cron po stronie serwera dla wp-cron.php, jeśli nie masz dostępu do poleceń Linuksa samodzielnie.
  • Lub, jeśli prowadzisz swoją stronę z cPanel i masz dostęp do wiersza poleceń, sprawdź odpowiednią dokumentację cPanel

Plik cron WP jest łatwo przeoczyć podczas budowania strony WordPress , ale może prowadzić do zauważalnych błędów, jeśli witryna zyskuje przyzwoitą ilość ruchu.

WordPress Przygotuj się na szczyty komunikacyjne

Spodziewasz się dużego ruchu na swojej stronie WordPress , np. w związku z kampanią marketingową? Potrzebne jest więc odpowiednie przygotowanie! Nasz szef działu rozwoju Matthias pokazuje, jakie 13 działań można podjąć, aby przygotować stronę WordPress na duże obciążenia.

Wnioski

Mam nadzieję, że ten artykuł pomoże Ci zrozumieć czym jest i jak działa funkcja WordPress cron. Używany prawidłowo, może pomóc w niezawodnej automatyzacji ważnych zadań, dzięki czemu można skupić się na tym, co ważne.

Naszym celem jest sprawienie, aby zarządzanie cronjobs WP było tak łatwe i wygodne, jak to tylko możliwe za pośrednictwem pulpitu nawigacyjnego RAIDBOXES . W ten sposób możesz jeszcze bardziej zoptymalizować rozwój i zarządzanie swoją stroną poprzez ten szybki i bezpośredni dostęp.

Czy masz więcej pytań na temat WP-Cron lub naszego dashboardu? Zachęcamy do pozostawienia komentarza! Chcesz być informowany o nowych postach na WordPress ? Następnie śledź nas na Twitterze, Facebooku lub poprzez nasz newsletter.

Jako web developer w RAIDBOXES , Marten zawsze pracuje nad nowymi funkcjami dla naszych klientów. Na "wp unboxed" punktuje również swoją wiedzą na temat tworzenia stron internetowych, WordPress i naszego dashboardu. W wolnym czasie lubi też zajmować się self-hostingiem i najnowszymi trendami w internecie.

Powiązane artykuły

Komentarze do tego artykułu

Napisz komentarz

Twój adres e-mail nie zostanie opublikowany. Pola obowiązkowe oznaczone są *.