Resolver problemas
Diagnosticar "Agendamento falhado" ou "Missed schedule"
Depois de agendar um artigo pode aparecer Agendamento falhado ou Missed schedule. O aviso confirma que a publicação não foi concluída à hora prevista, mas não determina se faltou tráfego, se falhou um pedido loopback ou se ocorreu um erro durante a publicação.
1. Registe um teste controlado
Agende um artigo de teste para daqui a alguns minutos e anote a hora e o fuso horário. Quando a hora passar, visite o site uma vez:
- Se for publicado depois da visita, a execução dependente do tráfego é uma hipótese forte.
- Se continuar pendente, reveja o registo PHP dessa hora, Ferramentas > Saúde do site e qualquer erro de pedido loopback.
Verifique também se wp-config.php contém define('DISABLE_WP_CRON', true);. Esse valor impede que as visitas iniciem o WP-Cron; não o altere até confirmar se existe uma tarefa cron real no servidor.
2. Verifique o evento
Com o WP-CLI pode listar os eventos e comparar a sua próxima execução com a hora atual:
wp cron event list --fields=hook,next_run_gmt,next_run_relative
Localize o evento de publicação do teste. Não apague eventos recorrentes sem identificar o componente que os registou. A ordem seguinte executa todos os eventos vencidos, não apenas a publicação: pode enviar emails ou ativar tarefas da loja. Use-a em staging ou depois de rever e autorizar os seus efeitos nessa instalação:
wp cron event run --due-now
Verifique depois se o artigo é publicado e reveja o registo PHP da mesma hora. Esta execução apenas confirma que o evento pôde ser concluído nesse momento; não explica o atraso.
3. Configure um cron real apenas se for necessário
Se tiver confirmado que falta tráfego, siga o guia para substituir o WP-Cron por uma tarefa do servidor. Crie e teste primeiro a tarefa. Depois poderá definir DISABLE_WP_CRON como true para evitar execuções duplicadas.
Agende outro artigo e confirme que é publicado sem visitar o site. Reveja várias execuções e conserve um registo temporário de erros. Um plugin de cron pode ajudar a inspecionar a fila, mas não corrige um loopback bloqueado, um erro PHP nem uma tarefa do servidor mal configurada.
Hora e alcance do teste
next_run_gmt é expresso em UTC e pode diferir da hora configurada para o site. Verifique ambas antes de concluir que o evento está atrasado. Execute o WP-CLI a partir do diretório correto e com o PHP e o utilizador dessa instalação; em multisite, identifique também o site a que o artigo pertence.
Um artigo de teste pode tornar-se público e disparar avisos para os subscritores. Utilize staging ou conteúdo preparado para essa finalidade. wp cron event list mostra o agendamento atual, não um histórico de execuções bem-sucedidas.
Também lhe pode ser útil
- Aviso de eliminação de atividade em curso no Moodle Localize a tarefa ad hoc course_delete_modules que mantém uma eliminação pendente e execute o cron d...
- Como resolver o erro cURL 60 de certificado SSL no WordPress Como diagnosticar e resolver o erro cURL 60 do WordPress sem desativar a verificação de certificados...
- Elementor 3.6.x, problemas históricos de compatibilidade Guia histórico para diagnosticar erros surgidos ao atualizar o Elementor 3.6 sem os atribuir todos à...
- Erro ao atualizar o WordPress, "cURL operation timed out" Identifique o URL e a fase de um pedido esgotado antes de atribuir o erro cURL 28 ao WordPress, a um...
Algo não bate certo ou mudou? Diga-nos e revemos.