Problème d'éxécution de cron.php

Problème d'éxécution de cron.php

par Pascal SORE,
Nombre de réponses : 9

Bonjour,


J'ai un problème d'exécution de cron.php qui se bloque lors de l'exécution (voir extrait ci-dessous). Il ne semble pas s'agir d'un temps d'exécution trop court, ni d'un manque de mémoire.  Le script s'arrête et ne provoque aucune erreur particulière affichée à l'écran. Les fichiers de log d'Apache ne signalent rien. Les logs du serveur non plus ... J'ai essayé de rediriger le résultat du script vers un fichier texte qui ne me dit rien de plus que l'affichage en mode web. Les plugins sont à jour et je suis en Moodle 2.8.2+ (Build: 20150115)

J'ai essayé également le mode débogage sans succès. Bref, je suis perdu !

Quelqu'un aurait-il une idée ?

Merci !

Pascal Sore

Rochefort


Finished activity modules
Starting blocks
Processing cron function for recent_activity....done.
Processing cron function for rss_client....
    http://www.journaldunet.com/management/rss/ ok
1 feeds refreshed (took 0.50841 seconds)
done.
Finished blocks
Starting admin reports
Finished admin reports
Starting course reports
Finished course reports
Starting gradebook plugins
Finished gradebook plugins
Moyenne des évaluations  -
En réponse à Pascal SORE

Re: Problème d'éxécution de cron.php

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

Bonjour,

C'est étrange. Le problème est-il récent ? Si oui, qu'est-ce qui a changé récemment ?

Quel est l'environnement serveur ? Et à quelles valeurs sont configurées la mémoire disponible et le temps d'exécution (depuis quel fichier) ?

Séverin

En réponse à Séverin Terrier

Re: Problème d'éxécution de cron.php

par Pascal SORE,

Bonjour Séverin et merci de t'intéresser à mon cas. Je dois t'avouer que je ne sais pas trop où chercher...


Pour répondre à tes questions :

le problème est-il récent : je ne sais pas trop car je n'ai pas constaté de dysfonctionnement dans les usages de mes utilisateurs  je ne vérifie pas tous les jours le déroulement du cron sourire

Qu'est-ce qui a changé récemment : je suis passé d'une version 2.6 à la 2.8 (via une 2.7) et j'ai configuré quelques dépôts (Owncloud par exemple). Sinon, rien de bien original et pas de plugin externe dans les dernières semaines.

L'environnement du serveur : côté physique c'est un serveur dédié loué chez hébergeur. Je ne le souviens plus des caractéristiques techniques mais c'est du bon matériel. Côté logiciel, tous les contrôles serveur depuis Moodle sont au vert.

Les valeurs du /etc/php5/apache2/php.ini sont à 

  • memory_limit = 256M
  • max_execution_time = 60

(j'ai doublé les valeurs initiales pour tester mais cela ne change rien)

Sur Moodle, j'ai modifié la valeur "performance" à 1024M pour voir ... sans succès

Concernant les plugins, ils sont tous à jour et n'affichent aucun message d'erreur.

J'ai également regardé les log système, de php et d'apache sans succès.

Bref, je n'ai plus d'idée sauf celle d'allumer un cierge dans un quelconque lieu religieux, je ne suis pas sectaire, (ni croyant d'ailleurs mais on ne sait jamais ...), ou bien d'attendre qu'un Séverin ait une idée de génie, ce qui est, somme toute, plus probable que la 1ère solution sourire !

Y a-t-il, par exemple, un moyen de modifier un script pour signaler à quel endroit il bloque ? (en incrémentant un compteur par exemple dans un endroit judicieux ?)

Merci à tous ceux qui perdront quelques minutes à se pencher sur le problème.

Cordialement

Pascal


En réponse à Pascal SORE

Re: Problème d'éxécution de cron.php

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

Re-bonjour,

Désolé de ne pas avoir d'idée de génie...

Peut-être quelqu'un d'autre dans la communauté clin d’œil

En réponse à Pascal SORE

Re: Problème d'éxécution de cron.php

par Jérôme DEMIAUX,
Avatar Traducteurs

Bonjour,

Pas d'idée de génie mais on devrait quand même savoir à quel niveau il plante en lisant simplement le compte-rendu qui s'affiche dans la fenêtre.

Que dit le dernier bloc d'actions ?

Jérôme.

En réponse à Pascal SORE

Re: Problème d'éxécution de cron.php

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,


Au niveau des logs, as-tu regardé ceux de la bdd (mysql) ?

Il se peut qu'une requête ait un problème, auquel cas cela pourrait planter le script, je l'ai déjà eu sur des problèmes d'id invalides.


Sinon, pour tracer le problème, il faut regarder dans le fichier $MOODLE/lib/cronlib.php

D'après le résultat du cron, le script s'arrête après 

Finished gradebook plugins

Dans le fichier cronlib.php, tu retrouves le bloc d'instructions

    // run gradebook import/export/report cron
    mtrace('Starting gradebook plugins');
    cron_execute_plugin_type('gradeimport');
    cron_execute_plugin_type('gradeexport');
    cron_execute_plugin_type('gradereport');
    mtrace('Finished gradebook plugins');

En utilisant la fonction mtrace , tu devrais pouvoir mettre des marqueurs, et localiser un peu mieux le problème

Perso, je suis encore en version 2.6, les traitements suivants concernent le calendrier, puis les blogs, etc ....


Moyenne des évaluations Utile (1)
En réponse à Bruno Malaval

Re: Problème d'éxécution de cron.php

par Pascal SORE,

Merci Bruno et Jérôme de vous lancer dans la bataille. Ce que tu me dis Bruno est intéressant car il me permet de savoir dans quel ordre le cron traite les modules. Je ne suis pas un développeur mais je vais essayer de bidouiller un peu ce fichier cronlib.php (que je vais sauvegarder avant cependant !) pour tâcher d'y voir plus clair.

J'ai réussi à recréer le problème sur mon moodle synchronisé en machine virtuelle sur mon PC. Mon idée était beaucoup plus empirique : supprimer un à un les plugins additionnels et voir celui qui bloque l'exécution du cron.

Je travaille à partir de ce soir et je vous tiens au courant de mes progrès.

Merci !

Pascal


En réponse à Pascal SORE

Re: Problème d'éxécution de cron.php

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Pascal,

As-tu activé les « objectifs » (enableoutcomes) dans les "Fonctions avancées" ? Sur l'une de mes plateformes cela causait l'arrêt prématuré du cron... Sinon, j'aurai suggéré la piste de désactiver les plugins un à un clin d’œil

Peux-tu nous lister les plugins additionnels qui figurent sur ta plateforme ?

A bientôt,
Patrick


En réponse à Patrick Lemaire

Re: Problème d'éxécution de cron.php

par Pascal SORE,
Bonjour Patrick,

Je n'ai pas activé les objectifs. J'ai désinstallé un à un tous les plugins additionnels (travail super intéressant !).  Le problème persiste. Ceux qui restent sont en pj.

Je pense qu'un paramètre bloque mais je n'ai pas les compétences requises en programmation pour dérouler le script cronlib.php (dans la nouvelle version, cela devient vraiment compliqué !).

Je bloque ...

Merci pour ton aide
Pascal


En réponse à Pascal SORE

Re: Problème d'éxécution de cron.php

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bon, j'avais pas de 2.8 sous la main, j'ai installé une 2.8.3+ toute fraiche. Ça donne envie langue tirée
Bref !

Sur la mienne, l'étape suivante du Cron est :

Starting repository plugins

Il serait tentant d'avancer que ton problème se situe au niveau des repository. Probablement PoodLL ?!
Peux-tu désactiver ce dernier ?

A bientôt,
Patrick