Résoudre les problèmes

Avertissement « Suppression d'activité en cours ! » dans Moodle

Vérifié le 4 min de lecture cron erreurs

Si, en essayant de restaurer une activité supprimée dans Moodle, ce message apparaît :

Avertissement : suppression d'activité en cours ! Certaines notes sont sur le point d'être supprimées. (en anglais : Warning: Activity deletion in progress! Some grades are about to be deleted.)

Le message indique que Moodle a encore une suppression en attente. Avant de l'attribuer au cron général, examinez la tâche ad hoc qui traite cette suppression et son erreur exacte.

Comment le résoudre

  1. Allez dans Administration du site > Serveur > Tâches > Tâches ad hoc.
  2. Repérez \core_course\task\course_delete_modules et examinez ses tentatives échouées, sa prochaine exécution et son message d'erreur. tool_recyclebin\task\cleanup_course_bin ne supprime que les éléments expirés de la corbeille ; elle ne termine pas cette suppression en attente.
  3. Exécutez le cron en CLI et conservez la sortie pendant le diagnostic :
/opt/alt/php83/usr/bin/php /ruta/a/moodle/admin/cli/cron.php

Remplacez php83 par la version de PHP de votre Moodle : un simple php ou /usr/local/bin/php peuvent correspondre à une autre version. Vous trouverez tous les chemins dans chemins des binaires PHP.

  1. Vérifiez que course_delete_modules se termine correctement. Si elle échoue, corrigez d'abord l'erreur concrète de cette exécution ; lancer le cron à répétition ne répare ni les permissions, ni l'espace disque, ni les exceptions des plugins.
  2. Vérifiez que la corbeille du cours est activée et que la durée de conservation n'a pas expiré. Ce n'est qu'une fois la tâche terminée que l'élément récupérable devrait apparaître.

Programmer le cron

Moodle recommande de l'exécuter toutes les minutes. Pendant le diagnostic, vous pouvez configurer temporairement une tâche cron avec le chemin réel et enregistrer la sortie :

* * * * * /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

Consultez le journal jusqu'à confirmer plusieurs exécutions correctes. Ensuite, si vous disposez déjà d'un autre moyen de surveiller les échecs des tâches, vous pouvez retirer cette redirection pour ne pas accumuler de sortie sur le disque :

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

Supprimez moodle-cron.log lorsqu'il n'est plus nécessaire. L'exécution web de /admin/cron.php dépend de ce que Moodle l'autorise ; la CLI est la méthode recommandée.

Consultez le guide officiel du cron de Moodle et de ses tâches planifiées et ad hoc.

Avant d'ajouter un autre cron

Vérifiez s'il existe déjà une tâche équivalente pour la même installation ; corrigez cette entrée au lieu de la dupliquer. Utilisez le binaire PHP compatible avec votre version de Moodle et l'utilisateur propriétaire de ses fichiers. Créez au préalable le répertoire privé du journal et limitez son accès et sa durée de conservation.

Envoyer la sortie vers /dev/null masque aussi les erreurs du processus : continuez à surveiller les tâches échouées dans Moodle. Ne supprimez pas manuellement des lignes de tâches, d'activités ou de notes pour faire disparaître l'avertissement. Que la suppression se termine ne garantit pas de récupérer un élément si la corbeille était désactivée ou si sa copie n'existe plus.

Cela peut aussi vous aider

Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.