O que é o cron do Moodle?

O cron do Moodle é o processo agendado que executa as tarefas em segundo plano: e-mails e notificações, backups, conclusão de curso, sincronizações e limpezas. A recomendação oficial é rodá-lo a cada minuto, pela linha de comando. Se ele para, o Moodle continua abrindo, mas tudo atrasa.

Como funciona

O servidor chama o script do Moodle (admin/cli/cron.php, no PHP de linha de comando) a cada minuto. O Moodle executa as tarefas agendadas que estão no horário e, em seguida, as tarefas ad hoc, criadas sob demanda, como uma restauração de curso. Por padrão, até três tarefas agendadas e três ad hoc rodam ao mesmo tempo.

Como funciona no Moodle

Em Administração do site > Servidor > Tarefas > Tarefas agendadas você vê a última e a próxima execução de cada tarefa e as falhas. A tela de processamento de tarefas, na mesma área, define a concorrência. A tarefa que falha entra em atraso progressivo, até uma tentativa por dia, e as falhas de tarefas ad hoc não aparecem nessa tela. O acesso pelo navegador (cron.php) vem desativado por padrão e é considerado obsoleto.

Quando importa para empresa e escola

Muito "bug" vem daqui: notificação que não chega, prazo sem aviso, conclusão e certificado que não saem, usuário do RH que não sincroniza, backup preso em pendente, biblioteca H5P que não baixa. Em hospedagem compartilhada, alguns planos só permitem rodar a cada 15 minutos ou mais, e o Moodle funciona, mas atrasa.

Erros comuns

  • Chamar o cron pelo navegador ou por um serviço de ping, em vez da linha de comando.
  • PHP de linha de comando em versão diferente da do site, comum em hospedagem com várias versões.
  • Rodar com usuário diferente do servidor web (www-data em Debian e Ubuntu), o que pode gerar arquivos com dono errado.
  • Cron rodando, mas uma tarefa falhando sempre e atrasando as outras.

Cron, tarefa agendada e tarefa ad hoc

O cron do servidor é o despertador: chama o Moodle a cada minuto. As tarefas agendadas e as ad hoc são o trabalho que o Moodle faz quando acorda. Uma tem horário definido, a outra nasce de uma ação, como um backup pedido por alguém.

Perguntas frequentes

Por que o cron do Moodle é importante?

Sem ele, e-mails e notificações não saem, backups e conclusões ficam parados e as tarefas se acumulam.

Com que frequência o cron deve rodar?

A cada minuto, conforme a documentação do Moodle. Intervalos maiores atrasam e-mails, backups e conclusões.

Como saber se o cron está parado?

O Moodle avisa em Administração do site > Notificações quando o cron não roda há algum tempo. Em Tarefas agendadas, confira a última execução.

O cron roda, mas o e-mail não sai. E agora?

Veja se alguma tarefa falha sempre e confira o envio (SMTP, SPF e DKIM).

Posso agendar o cron pelo painel da hospedagem?

Sim, se ele permitir intervalo de um minuto e usar o mesmo PHP do site. Alguns planos compartilhados limitam a 15 minutos.

Aprofunde: cron do Moodle não roda: sintomas e como configurar, Moodle não envia e-mails e backup parado em pendente.

Voltar ao glossário