WP-Cron travado: eventos agendados que não rodam no WordPress 6.9

O post agendado para as 8h aparece na lista com “Perdeu o agendamento” e o backup noturno não roda há três dias. Antes de culpar o plugin, olhe a fila: quase sempre o WP-Cron está esperando uma requisição que nunca chega, ou preso numa trava esquecida em wp_options.

Veja a fila e teste o gatilho

cd /var/www/rogertakemiya.com.br/html
sudo -u www-data wp cron event list --fields=hook,next_run_relative,recurrence
sudo -u www-data wp cron test

Se o event list mostra um monte de “now” ou tempo negativo, os eventos venceram e ninguém disparou. O wp cron test faz a mesma requisição de loopback que o WordPress faria para o wp-cron.php e diz se ela voltou. Loopback quebrado é o motivo número um: HTTP básico no staging, regra de nginx bloqueando o arquivo, Cloudflare agressivo.

Solte a trava e rode o que venceu

sudo -u www-data wp transient delete doing_cron
sudo -u www-data wp cron event run --due-now

O transient doing_cron é a trava que o core cria em spawn_cron() para evitar duas execuções ao mesmo tempo. Quando o PHP morre no meio, por timeout ou memória, ela fica lá e segura tudo. Confirme antes que não tem nada rodando de verdade: apagar a trava com um cron ativo libera uma segunda execução em paralelo, e importador ou disparo de e-mail rodando duas vezes dá dor de cabeça.

Pare de depender de visita no site

Site de pouco tráfego não tem quem acione o cron às 3h. Desligue o gatilho por visita no wp-config.php com define(‘DISABLE_WP_CRON’, true); e ponha a linha no crontab do usuário do PHP, com sudo crontab -u www-data -e:

*/5 * * * * cd /var/www/rogertakemiya.com.br/html && /usr/local/bin/wp cron event run --due-now --quiet >/dev/null 2>&1

A pegadinha para fechar: definir DISABLE_WP_CRON sem criar a linha no crontab deixa o site pior, porque aí não roda nada. E o post que perdeu o agendamento não volta sozinho — reagende com wp post update 123 –post_status=future –post_date=”2026-09-02 08:00:00″ ou pela tela de edição.

Dúvidas? Faça um comentário logo abaixo ou envie uma mensagem clicando aqui.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *