Resolver problemas

Aviso de eliminação de atividade em curso no Moodle

Revisto a 4 min de leitura cron erros

Se, ao tentar recuperar uma atividade eliminada no Moodle, aparecer a mensagem:

Aviso: eliminação de atividade em curso! Algumas classificações estão prestes a ser eliminadas.

A mensagem indica que o Moodle ainda tem uma eliminação pendente. Antes de a atribuir ao cron geral, reveja a tarefa ad hoc que processa essa eliminação e o seu erro exato.

Como resolver

  1. Aceda a Administração do site > Servidor > Tarefas > Tarefas ad hoc.
  2. Localize \core_course\task\course_delete_modules e reveja as tentativas falhadas, a próxima execução e a mensagem de erro. tool_recyclebin\task\cleanup_course_bin só elimina elementos expirados da reciclagem; não conclui esta eliminação pendente.
  3. Execute o cron por CLI e guarde a saída durante o diagnóstico:
/opt/alt/php83/usr/bin/php /ruta/a/moodle/admin/cli/cron.php

Substitua php83 pela versão de PHP do seu Moodle: um php simples ou /usr/local/bin/php podem ser outra versão. Tem todos os caminhos em caminhos dos binários de PHP.

  1. Confirme que course_delete_modules termina corretamente. Se falhar, corrija primeiro o erro concreto dessa execução; lançar o cron repetidamente não repara permissões, espaço ou exceções de plugins.
  2. Verifique que a reciclagem da disciplina está ativada e que o período de conservação não expirou. Só depois de concluída a tarefa deverá aparecer o elemento recuperável.

Agendar o cron

O Moodle recomenda executá-lo a cada minuto. Durante o diagnóstico pode configurar temporariamente uma tarefa cron com o caminho real e guardar a saída:

* * * * * /opt/alt/php83/usr/bin/php /home/usuario_cpanel/public_html/moodle/admin/cli/cron.php >> /home/usuario_cpanel/logs/moodle-cron.log 2>&1

Reveja o log até confirmar várias execuções corretas. Depois, se já tiver outro mecanismo para rever falhas de tarefas, pode retirar esse redirecionamento para não acumular saída em disco:

* * * * * /opt/alt/php83/usr/bin/php /home/usuario_cpanel/public_html/moodle/admin/cli/cron.php > /dev/null 2>&1

Elimine moodle-cron.log quando já não for necessário. A execução web de /admin/cron.php depende de o Moodle a permitir; a CLI é o método recomendado.

Consulte o guia oficial do cron do Moodle e das suas tarefas agendadas e ad hoc.

Antes de adicionar outro cron

Verifique se já existe uma tarefa equivalente para a mesma instalação; corrija essa entrada em vez de a duplicar. Utilize o binário PHP compatível com a sua versão do Moodle e o utilizador proprietário dos seus ficheiros. Crie previamente o diretório privado do registo e limite o seu acesso e conservação.

Enviar a saída para /dev/null também esconde os erros do processo: mantenha a revisão das tarefas falhadas no Moodle. Não apague manualmente linhas de tarefas, atividades ou classificações para retirar o aviso. Que a eliminação termine não garante recuperar um elemento se a reciclagem estava desativada ou a sua cópia já não existe.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.