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

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

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:

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

Twoja witryna 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 ułatwia zarządzanie nimi.

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.

"*" wyświetla wymagane pola

Chcę otrzymywać newsletter, aby być informowanym o nowych artykułach na blogu, e-bookach, funkcjach i nowościach dotyczących WordPress. Mogę wycofać swoją zgodę w dowolnym momencie. Należy zapoznać się z naszą Polityką prywatności.
To pole służy do weryfikacji i nie powinno być zmieniane.

Czym jest Cron? 

Cron to polecenie planowania zadań, które jest zintegrowane z systemami opartymi na Linuksie - takimi jak Ubuntu, Debian czy Mac OSX - a także z serwerami. W systemie Windows funkcja ta nosi nazwę "Harmonogram zadań".

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. 

Windows Cron

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 . 

Wp Cron Lokalizacja

A co robi WP-Cron?

Plik cron WordPressa (wp-cron.php) zawiera zautomatyzowane zadania, które musi wykonywać twoja instalacja WordPressa. Na przykład takie rzeczy, jak sprawdzanie aktualizacji wtyczek i WordPressa czy publikowanie zaplanowanych postów. Więcej informacji znajdziesz w dokumentacji "Czym jest WP-Cron" w oficjalnym podręczniku wtyczek WordPressa.  

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ść

Ponieważ WP-Cron jest uruchamiany za każdym razem, kiedy użytkownik odwiedza twoją stronę, może to powodować problemy zarówno dla małych, jak i dużych stron. 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. W przypadku dużych stron internetowych ruch jest oczywiście koniecznością i ma duże znaczenie dla biznesu, więc powstrzymywanie połączeń nie jest rozwiązaniem problemu. 

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ć.

Konfiguracja wykonywania wp-cron.php po stronie serwera w Raidboxes

Aby maksymalnie ułatwić ci pracę, zespół Raidboxes wbudował tę funkcję w pulpit RB. Wystarczy pięć kliknięć, aby skonfigurować wykonywanie po stronie serwera zadań cronjobs WordPressa! Jeśli jesteś programistą, który chce zaoszczędzić czas, jest to jedna z najłatwiejszych do wprowadzenia zmian.

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

raidboxes dashboard wp-cron

Teraz zobaczysz wszystkie ustawienia dla swoich cronjobs. 

Cron Jobs Raidboxes


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

  1. "Uruchom WP-Cron" wyłącz (to zapobiega uruchamianiu WP-Cron przez odwiedzających stronę).
  2. "Uruchom WP-Cron po stronie serwera" włącz (to dodaje zadanie cron na serwerze, aby uruchamiać 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.

W związku z tym nie trzeba kontaktować się z hostingiem, wchodzić do panelu administracyjnego ani ręcznie edytować pliku wp-cron.php. Dzięki Raidboxes wystarczy kilka kliknięć, aby monitorować i zarządzać swoimi cronjobs bezpośrednio w pulpicie RB. Nie musisz więc instalować dodatkowej wtyczki, aby zobaczyć swoje cronjobs.

Jeśli chcesz dokonać dalszych konfiguracji, możesz również określić w panelu sterowania Raidboxes, w jakich odstępach czasu powinien być wykonywany wp-cron.php.

Cron Time

Istnieje wiele spekulacji na temat "najlepszego" odstępu czasu dla twoich zadań cronjobs. Zwykle zalecamy, aby nie schodzić poniżej 5 minut. 

Edytuj swoje WordPress cronjobs

Bez Plugins

Jeśli nie chcesz instalować wtyczki do edycji pliku wp-cron.php, to nie ma problemu! W Raidboxes możesz łatwo zarządzać swoimi cronjobs poprzez pulpit RB, jak opisano powyżej. Oczywiście możesz też uzyskać dostęp do swoich cronjobs przez połączenie SSH. Po połączeniu się z kontem możesz edytować plik wp-cron.php w katalogu głównym swojej 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. 

Wtyczka Wp Control

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

Ręczne skonfigurowanie serwera do uruchamiania WP-Cron (nie jest to konieczne w przypadku Raidboxes)

Przy odrobinie wysiłku możesz również samodzielnie 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 plik wp-cron.php, dodając do niego następujący kod:
define('DISABLE_WP_CRON', 'true');

Po tym etapie wp-cron.php nie będzie już uruchamiany, 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 w 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.
  • Albo, jeśli korzystasz z cPanelu i masz dostęp do wiersza poleceń, sprawdź odpowiednią dokumentację cPanelu.  

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, by zarządzanie cronjobami WP za pośrednictwem pulpitu nawigacyjnego Raidboxes było tak łatwe i wygodne, jak to tylko możliwe. W ten sposób, dzięki szybkiemu i bezpośredniemu dostępowi, możesz jeszcze bardziej zoptymalizować rozwój i zarządzanie swoją witryną.

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.

Spodobał Ci się ten artykuł?

Zostawiając opinię pomożesz nam udoskonalać publikowane przez nas treści.

Jeden komentarz do: "Czym jest WP-Cron i kiedy "prawdziwe" cronjobs są przydatne dla Twojej witryny WordPress? "

  1. Ist der Eintrag DISABLE_WP_CRON tatsächlich – wie im Artikel beschrieben – in der wp-cron.php einzufügen? Ich hätte einen solchen define-Eintrag eher in der wp-config.php vermutet.
    Viele Grüße Stefan

Napisz komentarz

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