Solucionar problemas

Advertencia ¡Borrado de actividad en curso! en Moodle

Revisado el 3 min de lectura cron errores

Si al intentar recuperar una actividad eliminada en Moodle aparece el mensaje:

Advertencia: ¡Borrado de actividad en curso! Algunas calificaciones están a punto de ser eliminadas.

El mensaje indica que Moodle todavía tiene un borrado pendiente. Antes de atribuirlo al cron general, revisa la tarea ad hoc que procesa esa eliminación y su error exacto.

Cómo solucionarlo

  1. Accede a Administración del sitio > Servidor > Tareas > Tareas ad hoc.
  2. Localiza \core_course\task\course_delete_modules y revisa sus intentos fallidos, próxima ejecución y mensaje de error. tool_recyclebin\task\cleanup_course_bin solo elimina elementos caducados de la papelera; no completa este borrado pendiente.
  3. Ejecuta el cron por CLI y conserva la salida durante el diagnóstico:
/usr/local/bin/php /ruta/a/moodle/admin/cli/cron.php
  1. Confirma que course_delete_modules termina correctamente. Si falla, corrige primero el error concreto de esa ejecución; lanzar el cron repetidamente no repara permisos, espacio o excepciones de plugins.
  2. Comprueba que la papelera del curso esté habilitada y que el periodo de conservación no haya vencido. Solo después de completar la tarea debería aparecer el elemento recuperable.

Programar el cron

Moodle recomienda ejecutarlo cada minuto. Durante el diagnóstico puedes configurar temporalmente una tarea cron con la ruta real y guardar la salida:

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

Revisa el log hasta confirmar varias ejecuciones correctas. Después, si ya tienes otro mecanismo para revisar fallos de tareas, puedes retirar esa redirección para no acumular salida en disco:

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

Elimina moodle-cron.log cuando ya no sea necesario. La ejecución web de /admin/cron.php depende de que Moodle la permita; CLI es el método recomendado.

Consulta la guía oficial de cron de Moodle y sus tareas programadas y ad hoc.

Antes de añadir otro cron

Comprueba si ya existe una tarea equivalente para la misma instalación; corrige esa entrada en lugar de duplicarla. Usa el binario PHP compatible con tu versión de Moodle y el usuario propietario de sus archivos. Crea previamente el directorio privado del registro y limita su acceso y conservación.

Enviar la salida a /dev/null también oculta los errores del proceso: mantén la revisión de tareas fallidas en Moodle. No borres manualmente filas de tareas, actividades o calificaciones para quitar la advertencia. Que el borrado termine no garantiza recuperar un elemento si la papelera estaba desactivada o su copia ya no existe.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.