
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.
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.
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.
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.
Como aposentar o plugin AMP sem transformar centenas de URLs /amp/ indexadas em 404: o rewrite 301 no nginx, a…
A loja cai com OOM command not allowed when used memory > maxmemory: ajuste a maxmemory-policy do Redis e separe…
Adicione a caixa de aceite no checkout do WooCommerce e grave data e versão da política como meta do pedido,…
A função json_validate do PHP 8.3 diz se a string é JSON válido sem montar array nem objeto. Serve para…
Tire a chave de API do código com variável de ambiente, bloqueie o .env no nginx e entenda por que…
A opção de armazenamento de pedidos travada em posts e a sincronização que nunca termina: como migrar para as tabelas…