[2.9.3] cron stop à la partie "Looking for quiz overdue quiz attempts..."

[2.9.3] cron stop à la partie "Looking for quiz overdue quiz attempts..."

par Gaël Gontier,
Nombre de réponses : 4

Bonjour,

On est passé à moodle 2.9.3 depuis janvier sans soucis et depuis quelques temps (le 10 février) le cron semble s'arrêter à la partie "Looking for quiz overdue quiz attempts...".  Depuis cette date les notifications par mail des messages des forums n'arrivent plus.

J'ai fait une recherche rapide sur le tracker et j'ai vu que des problèmes correspondant à cette description ont existé à l'époque de la 2.2/2.3 mais ont été résolu depuis.

Notre serveur utilise PHP 5.5.14 et MySQL 5.5.31

Quelqu'un aurait une idée pour résoudre mon problème de cron ?


Merci! 

Gael


Moyenne des évaluations  -
En réponse à Gaël Gontier

Re: [2.9.3] cron stop à la partie "Looking for quiz overdue quiz attempts..."

par Jean FRUITET,

Pouvez vous vérifier si la désactivation de cette partie du cron suspend le problème ?

Car si le con est stoppé avant de traiter les  notifications des forums  il y a peu de chance que celles-ci ne soient envoyées :>(

Le plus simple pour cela est de modifier à la main la fonction quiz_cron() du fichier

./mod/quiz/lip.php

en mettant tout le contenu en commentaire (sauf la dernière ligne)


/**
 * Quiz periodic clean-up tasks.
 */
function quiz_cron() {

/* ----------------------------------------
// Mettre tout ce paquet en commentaire
global $CFG;

require_once($CFG->dirroot . '/mod/quiz/cronlib.php');
mtrace('');
// Run cron for our sub-plugin types.
cron_execute_plugin_type('quiz', 'quiz reports');
cron_execute_plugin_type('quizaccess', 'quiz access rules');

------------------------------------- */

    return true;
}

  puis de relancer le cron...

Si après ça les notifications du forum passent normalement c'est que le problème provient effectivement des tables des quiz de la base de donnée Moodle... et en particulier de la table

mdl_quiz_attempts

qui est peut-être incohérente suite aux différents mises à jour.

A ce propos allez jeter un oeil sur la requête

function quiz_get_attempt_usertime_sql ($redundantwhereclauses = '') { ... }

du fichier ./mod/quiz/locallib.php

qui ne contient pas moins de 7 jointures !

On ne s'étonnera pas que ça puisse ralentir sinon bloquer le serveur Moodle .




En réponse à Jean FRUITET

Re: [2.9.3] cron stop à la partie "Looking for quiz overdue quiz attempts..."

par Gaël Gontier,

Merci pour ta réponse Jean, en attendant j'ai pu relancer le cron en désactivant "legacy_plugin_cron_task" dans le menu des tâches programmées et les mails sont correctement parti.

... Je vais regarder plus en détail du côté du module de quizz.

En réponse à Gaël Gontier

Re: [2.9.3] cron stop à la partie "Looking for quiz overdue quiz attempts..."

par Gaël Gontier,

Après avoir effectué une mise à jour vers moodle 2.9.4, la tâche "legacy_plugin_cron_task" recommence a recommencé a fonctionner normalement

En réponse à Gaël Gontier

Re: [2.9.3] cron stop à la partie "Looking for quiz overdue quiz attempts..."

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonne nouvelle sourire

Il arrive effectivement parfois de rencontrer des bogues, et qu'une mise à jour (même "mineure") permette d'y remédier clin d’œil