iControlWP

În acest articol, vom explica:

  • Ce este WP Cron?
  • Cum funcționează?
  • De ce eșuează?
  • Ce probleme cauzează erorile WP Cron?
  • Cum se repară WP Cron

Să începem…

Ce este WP Cron?

Cron este o comandă UNIX pentru programarea lucrărilor care urmează să fie executate cândva în viitor. În mod normal este folosit pentru a programa o lucrare care este executată periodic.

WordPress folosește un fișier numit wp-cron.php ca o sarcină cron virtuală sau sarcină programată pentru a automatiza lucruri cum ar fi

  • publicarea de postări programate
  • verificarea actualizărilor de plugin-uri sau teme
  • trimiterea de notificări prin e-mail
  • realizarea de back-up
  • actualizări automate WordPress
  • … și așa mai departe.

Cum funcționează?

La fiecare încărcare de pagină, WordPress verifică dacă este nevoie ca WP Cron să ruleze. Dacă este nevoie, atunci încearcă să facă o cerere prin HTTP către fișierul wp-cron.php.

Apelarea acestui fișier ajută ca WP Cron să funcționeze ca un proces separat în fundal, fără a întârzia timpul de încărcare a paginii pentru utilizator. Odată ce WP Cron pornește, acesta continuă să ruleze până când toate sarcinile necesare sunt finalizate sau până când atinge un timp de execuție stabilit în configurația serverului.

Este important de explicat că, în configurația sa implicită, WordPress nu folosește un cron job real pentru programarea și alte sarcini aferente. În schimb, de fiecare dată când o pagină este încărcată pe un site WordPress, WordPress rulează fișierul wp-cron.php. Practic, acesta întreabă „este timpul să facem ceva încă?”.

Dacă există sarcini programate în momentul încărcării paginii, acestea vor fi rulate. Dar, trebuie menționat aici că WP Cron nu rulează în mod constant, așa cum o face cronul de sistem.

WP Cron va fi declanșat doar la încărcarea paginii – adică atunci când cineva vizitează o pagină de pe site-ul dumneavoastră. Acest lucru înseamnă că, de exemplu, dacă aveți o sarcină programată pentru ora 16:00, dar nu aveți niciun vizitator până la ora 22:00, sarcina dvs. nu se va executa până atunci.

Nota: Uneori puteți vedea URL-uri cu ?doing_wp_cron= urmate de un șir de numere.

De exemplu:

https://example.com/what-is-wp-cron-article?doing_wp_cron=123456.874251298799871371475

Acest lucru se întâmplă deoarece, pentru a efectua unele procesări în fundal (cum ar fi publicarea de articole programate), WordPress vă redirecționează către URL-ul cu ?doing_wp_cron anexat.

Citește mai multe despre acest lucru aici.

De ce nu reușește?

Atunci, când cineva ajunge pe orice pagină de pe site-ul tău WordPress, wp-cron.php ar putea să se pornească și să verifice dacă trebuie să trimită ceva

La multe gazde WordPress, acest lucru va funcționa așa cum este prevăzut. Dar, unele gazde dezactivează această funcționalitate de la rulare, deoarece înseamnă că un număr mare de vizitatori poate declanșa de multe ori lucrările cron virtuale, consumând resursele de pe serverul dvs. Este, de asemenea, o potențială vulnerabilitate de securitate.

Un alt motiv este că unele pluginuri și teme pot cauza erori fatale în timpul procesării cron (deoarece este posibil să nu fi fost testate corect) și acest lucru va întrerupe rularea procesului cron.

Sugestie: Deși nu este concludent și servește cu adevărat doar ca indicator în cazul unor probleme majore, în tabloul de bord de securitate pentru Shield există o intrare în secțiunea „Jurnal de evenimente recente” pentru a arăta ultima dată când a rulat cronul de test simplu:

Acesta v-ar putea spune dacă, în general, cronul dumneavoastră funcționează sau nu. Nu înseamnă că toate crono-urile dvs. funcționează, dar înseamnă că sistemul dvs. WP Cron este, probabil, OK.

Nota: Puteți declanșa WP Cron manual. Primul lucru pe care trebuie să-l faceți este să construiți linkul, și iată cum să faceți asta:

  1. Preluați URL-ul dvs. de administrare, de exemplu, example.com/wp-admin/
  2. Înlocuiți „/wp-admin/” cu „/wp-cron.php?setcronjob”

Linkul va arăta astfel:

example.com/wp-cron.php?setcronjob

Simplu, deschideți acel link într-o filă separată și WP Cron va fi declanșat.

Ce probleme cauzează erorile WP Cron?

Dacă cronul se strică, nu rulează corect:

  • Actualizările automate ale WordPress nu vor rula
  • Cercetarea actualizărilor de pluginuri sau teme va eșua
  • Postările programate nu vor fi publicate
  • Dacă WordPress nu folosește un cron job real pentru programarea și alte sarcini conexe, notificările prin e-mail, reînnoirile automate, taxele de facturare, notificările de intrare/ieșire din stoc vor eșua.
  • Shecking-up-ul site-ului va eșua pentru plugin-urile de backup care depind de cron

De asemenea,

  • Poate exista o întârziere mare între actualizările lansate și actualizările instalate
  • Pluginele premium nu se leagă corect în codul lor de actualizare

    Certe plugin-uri premium nu și-au testat codul de actualizare personalizat cu cron-ul WordPress. Acest lucru înseamnă că, atunci când cronul este rulat, codul lor de actualizare nu funcționează și actualizările automate ale activelor premium vor eșua.

Acestea sunt doar câteva dintre cele mai vizibile probleme pe care le-am văzut.

Rețineți că, dacă cronul nu funcționează, toate sarcinile automate vor eșua.

Cum se repară cronul WP Cron

Cronul WP poate fi problematic și a restrânge locul în care un cron se blochează este o muncă complicată.

Vă recomandăm să citiți acest articol aici.

De asemenea, puteți citi:

  • De ce nu funcționează întotdeauna actualizările automate ale WordPress?

.

Leave a Reply