Attività WP-Cron programmate ma non eseguite

24 dic 2013, 03:43:50
Visualizzazioni: 17.3K
Voti: 4

Sto lavorando su una rete multisite WordPress particolarmente grande e ho avuto problemi con WP-Cron. Sembra che le attività WP-Cron vengano programmate, ma non eseguite.

Le attività WP-Cron non vengono eseguite né negli ambienti di staging né in produzione, mentre localmente funzionano correttamente. Le istanze sono tutte identiche - multisite, con lo stesso set di siti, lo stesso tema e gli stessi plugin attivati (e le stesse versioni dei plugin). Ci sono lievi differenze nella versione di PHP sul server e nel mio ambiente locale, ma le versioni di WP sono le stesse (leggermente indietro rispetto all'attuale - 3.5.2)

Ho provato a svuotare la coda e ad accedere direttamente allo script cron (/wp-cron.php?doing_wp_cron), ma senza successo. Ho anche provato a programmare una chiamata a quello script in un vero cronjob, ma con lo stesso risultato - nulla.

Ho ricontrollato che DISABLE_WP_CRON non sia presente nel file wp-config, e ho persino provato a definire quella costante come false.

Qualsiasi suggerimento sul perché potrebbe non funzionare, o su come forzarne l'esecuzione, sarebbe molto utile.

3
Commenti

Hai accesso ai log del server sulle tue macchine di staging e produzione? Controlla se ci sono errori relativi a wp_cron.php.

Pat J Pat J
24 dic 2013 04:09:36

Se stai utilizzando una chiamata diretta allo script via cron e non funziona, allora suppongo che non sia un problema di WordPress, quindi inizierei controllando lo script stesso e i suoi permessi di file.

TomC TomC
24 dic 2013 10:43:31

Un commento tardivo: che dire dei fusi orari impostati sui tuoi due ambienti diversi (test e produzione)? In tal caso, potresti provare la funzione PHP date_default_timezone_set("Europe/Rome"); (ovviamente, imposta il tuo locale)

Erenor Paz Erenor Paz
9 feb 2017 13:31:47
Tutte le risposte alla domanda 1
0

Per prima cosa, puoi confermare che non hai alcun plugin di caching attivo? I plugin di caching possono interferire con i cron job perché i tuoi visitatori non ricevono una pagina live ma una versione memorizzata nella cache della tua pagina.

Se hai un plugin di caching attivato, puoi scegliere una delle tue pagine, aggiungere un'esclusione nelle impostazioni del tuo plugin di caching per quella pagina in modo che non venga mai memorizzata nella cache.

Poi dovrai creare manualmente un cron job (usando Cpanel se sei su un ambiente di hosting condiviso o dal terminale se è un server VPS/dedicato) che visiterà quella pagina ogni pochi minuti.

Spero che questo ti aiuti!

Riferimento: WP Cron non viene eseguito quando il tempo scade

9 ott 2019 08:29:36