Moodle necesita su cron cada minuto para enviar correos, procesar tareas y mantener el aula al día. Crea la tarea en Plesk y comprueba que Moodle deja de avisar.
Sin cron, Moodle funciona a medias: no manda las notificaciones, no procesa las entregas ni las copias, y en Administración del sitio sale un aviso rojo. Moodle recomienda ejecutarlo cada minuto, y en los planes Profesional y Avanzado lo haces desde Tareas programadas de Plesk en cinco minutos.
Antes de empezar
- Moodle instalado y funcionando (Cómo instalar Moodle en tu hosting Profesional o Avanzado paso a paso) en un plan Profesional o Avanzado.
- Haber entrado en el panel Plesk de tu hosting (Cómo entrar al panel Plesk de tu hosting desde el área de cliente). Tareas programadas está en la ficha de tu dominio; si no aparece, tu plan no la incluye (Cómo crear tareas programadas en tu hosting y dispararlas desde fuera).
Paso a paso
-
En Sitios web y dominios → tu dominio, pulsa Tareas programadas y después Añadir tarea.
-
En Tipo de tarea elige Ejecutar un script PHP. En Ruta de acceso del script escribe
httpdocs/admin/cli/cron.php: el script de cron vive junto al código, no dentro depublic. Deja con argumentos vacío. -
En Usar la versión PHP elige la misma que tiene tu dominio, 8.3 o 8.4. Si el cron corre con una versión distinta a la de la web, falla en silencio.
-
En Ejecutar elige Estilo cron y escribe
* * * * *: cinco asteriscos, cada minuto. Moodle sabe repartirse el trabajo y no hace nada si no toca; una vez por minuto es lo que pide su documentación. -
En Descripción pon «Cron de Moodle» y en Notificar deja No notificar: el PHP de línea de comandos del hosting escribe unos avisos inofensivos en cada ejecución, y con Solo errores recibirías un correo por minuto. Pulsa Aceptar; puedes lanzarla al momento con Ejecutar ahora.
- Vuelve a Moodle y entra en Administración del sitio → Notificaciones. Si antes decía que el cron no se había ejecutado, el aviso desaparece en uno o dos minutos.
Cómo comprobar que ha funcionado
En Moodle, Administración del sitio → Servidor → Tareas → Tareas programadas muestra la última ejecución de cada tarea con hora reciente. Un mensaje del foro o una notificación de prueba llega al correo. El estado del cron lo vigila el propio Moodle: si deja de correr, vuelve a avisarlo en Notificaciones.
Si algo falla
- Te llega un correo por minuto con «PHP Warning: Module ... already loaded»: dejaste Notificar en Solo errores; son avisos, no errores, y el cron ha corrido igual. Edita la tarea y ponla en No notificar.
- Moodle sigue avisando y al pulsar Ejecutar ahora sale «Could not open input file»: la ruta está mal; tiene que ser
httpdocs/admin/cli/cron.php(o la carpeta donde extrajiste Moodle seguida de/admin/cli/cron.php). - Moodle sigue avisando de que el cron no corre y la ruta es correcta: comprueba en Tareas programadas que la tarea está Activa y que la versión de PHP es la de la web; mira también el registro de errores (Cómo leer los registros de tu web para encontrar un error).
- El cron consume mucho y salta el 508: baja la frecuencia a
*/5 * * * *y revisa Uso de Recursos (Qué significan los errores 503 y 508 y cómo dejar de verlos); en un aula con muchos alumnos toca subir de plan. - Cualquier otra cosa: abre un ticket desde tu área de cliente (Cómo abrir un ticket de soporte y que se resuelva a la primera) con el texto del correo de error.