Dicas e Soluções

Como verificar se o cron do Magento está realmente rodando

Como verificar se o cron do Magento está realmente rodando

Saber como verificar se o cron do Magento está realmente rodando é essencial para garantir o funcionamento correto de diversas tarefas automatizadas da plataforma, como envio de e-mails, geração de relatórios, indexações, limpezas de cache e atualizações programadas. Quando o cron não está funcionando corretamente, a loja pode apresentar falhas silenciosas que comprometem a performance e a experiência do usuário.

Neste artigo, você vai aprender como testar, monitorar e validar se o cron job está operando corretamente no Magento 2, além de dicas práticas para evitar falhas recorrentes.


O que é o cron no Magento?

O cron job no Magento é um agendador de tarefas que executa comandos automaticamente em intervalos definidos. Ele é responsável por manter o sistema atualizado e funcional, realizando tarefas como:

  • Processamento de pedidos agendados
  • Envio de newsletters
  • Atualização de preços e promoções
  • Execução de reindexações automáticas
  • Limpeza de cache e logs
  • Sincronização com módulos externos

Se o cron não estiver configurado corretamente ou não estiver sendo executado, muitos desses recursos param de funcionar sem alertas visíveis.


Como verificar se o cron do Magento está rodando corretamente

1. Verifique a última execução dos cron jobs via CLI

Magento oferece um comando específico para monitorar o cron:

php bin/magento cron:run

Se o cron estiver operando corretamente, o comando executará as tarefas pendentes e não retornará erros. Para verificar o status geral dos crons agendados, você também pode executar:

php bin/magento cron:status

Isso mostra o tempo da última execução e alerta se algum cron estiver parado por muito tempo.


2. Verifique os registros nas tabelas cron_schedule

A tabela cron_schedule armazena os logs de execução do cron. Use o seguinte comando SQL:

sqlCopiarEditarSELECT job_code, status, scheduled_at, executed_at, finished_at
FROM cron_schedule
ORDER BY scheduled_at DESC
LIMIT 10;

Status possíveis:

  • pending: tarefa agendada, aguardando execução
  • success: tarefa concluída com sucesso
  • missed: tarefa agendada, mas não executada
  • error: falha na execução da tarefa

Se houver muitos registros com status missed ou error, o cron não está sendo executado corretamente.


3. Verifique os logs do Magento

Os arquivos de log também podem indicar se o cron está rodando. Verifique os diretórios:

  • var/log/cron.log (se habilitado)
  • var/log/system.log
  • var/log/exception.log

Procure por mensagens relacionadas à execução de tarefas agendadas. Se o cron estiver inativo, esses logs permanecerão sem novas entradas.


4. Confirme o agendamento no sistema operacional (crontab)

No terminal, execute:

crontab -l

Você deve ver algo como:

* * * * * /usr/bin/php /caminho/da/sua/loja/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /caminho/da/sua/loja/var/log/magento.cron.log

Esse comando deve estar agendado para rodar a cada minuto. Certifique-se de que está no usuário correto (geralmente o mesmo que executa o Apache ou Nginx, como www-data).


5. Use ferramentas de monitoramento

Ferramentas como New Relic, Munin, Nagios ou scripts personalizados de shell podem ser usados para validar se o cron está executando em intervalos regulares e alertar em caso de falhas.


Dicas para garantir que o cron do Magento funcione corretamente

  1. Sempre use o caminho absoluto no crontab
  2. Mantenha permissões corretas nos diretórios e arquivos
  3. Evite executar o cron manualmente com o usuário root
  4. Habilite logs detalhados para auditoria
  5. Evite sobrecarga de tarefas simultâneas (use cron:install para gerar configurações otimizadas)

Solução de problemas comuns com cron

ProblemaCausa provávelSolução recomendada
Cron rodando, mas tarefas não executamPermissões incorretas ou problemas no cron_scheduleVerificar permissões e estado da tabela
Status “missed” frequenteCron não está sendo executado pelo sistemaReconfigurar crontab com cron:install
Cron.log vazioCron nunca foi disparadoValidar usuário e agendamento no SO
Reindexações automáticas falhandoCron desabilitado ou com erroHabilitar indexadores via agendamento

Conclusão: cron funcionando é sinônimo de loja saudável

Saber como verificar se o cron do Magento está realmente rodando é essencial para manter a loja operando sem falhas ocultas. Um cron mal configurado compromete indexações, promoções, pedidos e até integrações com meios de pagamento e marketplaces.

👉 Para entender como configurar corretamente o cron e evitar erros, confira nosso guia completo:
Como configurar o cron no Magento e evitar falhas recorrentes