Caso o cron do Moodle estiver com problema, uma forma de rastrear a causa precisa do erro é ativar o debug.
Acontece que ativar o debug na interface do Moodle http://moodlephp.blogspot.com.br/2011/03/ativar-exibicao-do-erro-no-moodle.html pode dificultar a navegação do aluno.
Neste caso, a alternativa é hackear o código e ativar o debug específico no trecho do código que se pretende rastrear a causa do erro.
Então para ativar debug só no cron, siga os seguintes passos:
1) Abra o arquivo cronlib.php
Localize e abra o seguinte arquivo
MOODLE_INSTALL_DIR/lib/cronlib.php
2) Edite a função cron_run()
Localize a função function cron_run() essa função fica aproximadamente na linha 35 a 519
function cron_run() { global $DB, $CFG, $OUTPUT; ....... }
Adicione o seguinte código a seguir no inicio da função cron_run() logo depois do código global $DB, $CFG, $OUTPUT;
ini_set("display_errors",1);
error_reporting(E_ALL);
Veja a função com com os códigos inseridos:
function cron_run() {
global $DB, $CFG, $OUTPUT;
//habilitar debug
ini_set("display_errors",1);
error_reporting(E_ALL);
//código da lógica da função
.......
}
Salve as alterações feitas no arquivo
Dessa forma, a navegação dos alunos não fica afetado. A execução do cron vai registrar detalhes da causa do erro.