Sarcini WP-Cron programate dar care nu rulează

24 dec. 2013, 03:43:50
Vizualizări: 17.3K
Voturi: 4

Lucrez la o rețea WordPress multisite foarte mare și am întâmpinat probleme cu WP-Cron. Se pare că sarcinile WP-Cron sunt programate, dar nu sunt executate.

Sarcinile WP-Cron nu rulează nici pe mediile noastre de staging, nici pe cele de producție, dar în mediul local funcționează corect. Instanțele sunt identice - multisite, cu același set de site-uri, aceeași temă și aceleași plugin-uri activate (și aceleași versiuni de plugin-uri). Există mici diferențe în versiunea de PHP pe server față de mediul meu local, dar versiunile de WordPress sunt aceleași (puțin în urmă față de cea curentă - 3.5.2)

Am încercat să golesc coada și să accesez scriptul cron direct (/wp-cron.php?doing_wp_cron), dar fără succes. Am încercat chiar să programez un apel către acel script într-un cronjob real, dar cu același rezultat - nimic.

Am verificat dacă DISABLE_WP_CRON nu este prezent în fișierul wp-config și am încercat chiar să definesc acea constantă ca false.

Orice informație despre de ce ar putea să nu funcționeze sau cum să forțez rularea ar fi foarte utilă.

3
Comentarii

Aveți acces la jurnalele serverului pe mediile de staging și producție? Verificați dacă există erori legate de wp_cron.php.

Pat J Pat J
24 dec. 2013 04:09:36

Dacă folosiți un apel direct la script prin cron și nu funcționează, atunci presupun că nu este o problemă WordPress, așa că aș începe prin a verifica scriptul în sine și permisiunile fișierelor.

TomC TomC
24 dec. 2013 10:43:31

Un comentariu întârziat: cum stau lucrurile cu fusurile orare setate pe cele două medii diferite (test și producție)? În caz afirmativ, ați putea încerca funcția PHP date_default_timezone_set("Europe/București"); (desigur, setați-vă propria localizare)

Erenor Paz Erenor Paz
9 feb. 2017 13:31:47
Toate răspunsurile la întrebare 1
0

Mai întâi, te rog să confirmi că nu ai niciun plugin de caching activat? Plugin-urile de caching pot interfera cu job-urile cron deoarece vizitatorii tăi nu primesc o pagină live, ci o versiune cache a paginii.

Dacă ai un plugin de caching activat, poți alege una dintre paginile tale, să adaugi o excludere în setările plugin-ului de caching pentru acea pagină, astfel încât să nu fie niciodată cache-uită.

Apoi va trebui să creezi manual un job cron (folosind Cpanel dacă ești pe un mediu de hosting shared sau din terminal dacă e un VPS/server dedicat) care va vizita acea pagină la fiecare câteva minute.

Sper că acest lucru te ajută!

Referință: WP Cron nu se execută când timpul expiră

9 oct. 2019 08:29:36