Solucionar problemas
Advertencia ¡Borrado de actividad en curso! en Moodle
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
- Accede a Administración del sitio > Servidor > Tareas > Tareas ad hoc.
- Localiza
\core_course\task\course_delete_modulesy revisa sus intentos fallidos, próxima ejecución y mensaje de error.tool_recyclebin\task\cleanup_course_binsolo elimina elementos caducados de la papelera; no completa este borrado pendiente. - Ejecuta el cron por CLI y conserva la salida durante el diagnóstico:
/usr/local/bin/php /ruta/a/moodle/admin/cli/cron.php
- Confirma que
course_delete_modulestermina correctamente. Si falla, corrige primero el error concreto de esa ejecución; lanzar el cron repetidamente no repara permisos, espacio o excepciones de plugins. - 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
- Diagnosticar "Programación perdida" o "Missed schedule" Comprueba por qué una entrada programada no se publicó antes de sustituir WP-Cron por una tarea del...
- Cómo solucionar el error cURL 60 de certificado SSL en WordPress Cómo diagnosticar y resolver el error cURL 60 de WordPress sin desactivar la verificación de certifi...
- Depurar errores en WordPress Localiza pantallas en blanco y fallos internos de WordPress enviando WP_DEBUG a un registro privado,...
- Diagnosticar errores criptográficos de Sodium en WordPress Distingue la ausencia de la extensión Sodium de un argumento inválido en sodium_compat antes de camb...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.