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.