Mon cron ne se lance plus

Mon cron ne se lance plus

par Simon CHARBIT,
Nombre de réponses : 10
Bonjour j'ai remarqué aujourd'hui que le cron de mon Moodle ne se lançait plus.

Je suis sur une version Moodle 3.11.15+
J'ai pu le lancer manuellement depuis le navigateur avec la commande : /admin/cron.php?
il semble s’exécuter de cette façon sans problème puisque toutes les taches sont marqué avec succès.

La case d'activation du cron est coché




J'ai essayé de suivre la documentation et j'ai réussi (enfin je crois ) à le lancer depuis un un terminale

J'ai l'impression qu'il y a des erreur mais je ne vois vraiment plus quoi faire. voici ce que j'obtiens dans le terminale

root:/var/www/vhosts/monmoodle# /usr/bin/php /var/www/vhosts/monmoodle/moodle/admin/cli/cron.php

PHP Deprecated:  Return type of navigation_node_collection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/navigationlib.php on line 1145

PHP Deprecated:  Return type of navigation_node_collection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/navigationlib.php on line 1134

PHP Deprecated:  Return type of moodle_recordset::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/dml/moodle_recordset.php on line 61

PHP Deprecated:  Return type of context::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/accesslib.php on line 5173

PHP Deprecated:  Return type of cm_info::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/modinfolib.php on line 1427

PHP Deprecated:  Return type of section_info::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/modinfolib.php on line 3018

PHP Deprecated:  Return type of mysqli_native_moodle_recordset::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/dml/mysqli_native_moodle_recordset.php on line 65

PHP Deprecated:  Return type of mysqli_native_moodle_recordset::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/dml/mysqli_native_moodle_recordset.php on line 78

PHP Deprecated:  Return type of mysqli_native_moodle_recordset::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/dml/mysqli_native_moodle_recordset.php on line 69

PHP Deprecated:  Return type of mysqli_native_moodle_recordset::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/monmoodle/moodle/lib/dml/mysqli_native_moodle_recordset.php on line 82

PHP Fatal error:  Type of xml_format_exception::$line must be int (as in class Exception) in /var/www/vhosts/monmoodle/moodle/lib/xmlize.php on line 42



Avez vous des idées ?

Merci beaucoup




Moyenne des évaluations  -
En réponse à Simon CHARBIT

Re: Mon cron ne se lance plus

par Olivier Valentin,
Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles
Bonjour Simon,
tu es sur Moodle 3.11, mais est-ce que la version PHP de ton serveur est bien compatible avec cette version ? Cette version accepte au maximum PHP 8.0, et tes messages d'erreur ressemblent à une incompatibilité de version PHP. Il faudrait aller voir dans Administration du site > Serveur > Environnement pour voir si tout va bien.
Pour rappel, une page de doc existe concernant les versions PHP supportées en fonction des versions Moodle : https://docs.moodle.org/4x/fr/Moodle_et_PHP
Olivier
Moyenne des évaluations Utile (2)
En réponse à Olivier Valentin

Re: Mon cron ne se lance plus

par Simon CHARBIT,
Je suis pourtant en version 8.0.30 et dans l'environnement ça a l'air OK.


J'ai peut être fait l'erreur un jour de mettre une version supérieur de PhP puisque la version 8.0.30 est marquée comme obsolète. (ça peut casser quelque chose ?)

Merci beaucoup pour votre réponse.
En réponse à Simon CHARBIT

Re: Mon cron ne se lance plus

par Simon CHARBIT,
Je rajoute l'info suivante :
J'ai changé de serveur en aout dernier. Pour mettre mon Moodle sur le nouveau serveur je crois avoir juste copier le sdossier Moodle et moodledata puis importer la base de donnée.
Je l'ai fait sur deux sites Moodle (celui que j'utilise et celui sur lequel je fais des tests avant de faire une mise à jour.
Après vérifiation j'ai des problème de Cron sur les deux site Moodle l'un est en version3.11.15 et l'autre en 4.0.10
Peut être que c'est lors du transfert d'un serveur à l'autre que j'aurai du faire quelque chose au niveau de la configuration.
En réponse à Simon CHARBIT

Re: Mon cron ne se lance plus

par Olivier Valentin,
Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles
A toute fin utile, une doc existe également sur la procédure permettant de migrer Moodle sur un autre serveur : https://docs.moodle.org/4x/fr/Migration_de_Moodle
A voir si le processus décrit évite les problèmes ! Mais sur le coup, ce n'est pas sûr, car tu ne sembles pas signaler de problème de liens de fichiers ou autres. Pas d'autres pistes à te proposer malheureusement... triste
Olivier
En réponse à Simon CHARBIT

Re: Mon cron ne se lance plus

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

Je rejoins mon camarade sur un problème de version de PHP.
Il est possible que la version web et CLI diffère sur ton hébergement. En effet, on peut faire cohabiter plusieurs versions de PHP sur un même serveur.

En ligne de commande, que se passe-t-il si tu lances :
/usr/bin/php --version
Peux-tu nous en dire plus sur ton hébergement ? C'est un serveur dédié ?
Autre point à désamorcer, quand tu écris "Mon CRON ne se lance plus", est- que tu veux dire qu'il est toujours programmé (via crontab sous Linux par exemple) mais qu'il échoue ? Comment est-il déclenché automatiquement ?

À bientôt,
Patrick
Moyenne des évaluations Utile (2)
En réponse à Patrick Lemaire

Re: Mon cron ne se lance plus

par Simon CHARBIT,
Ça me semble être une bonne piste 😊
J'obtiens le résultat suivant :
PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies

C’est un serveur dédié que je gère depuis PlesK et concernant le domaine ou est Moodle j’ai bien sélectionné la version 8.0.30

Avez-vous une idée de ce que je peux tenter pour solutionner le problème ?

Merci beaucoup pour votre réponse
En réponse à Simon CHARBIT

Re: Mon cron ne se lance plus

par Simon CHARBIT,
Dans les outils de Plesk :


Quand le clique sur paramètre PhP c'est une peu la foire...

En réponse à Simon CHARBIT

Re: Mon cron ne se lance plus

par Simon CHARBIT,
Sur mon Moodle de test j'ai mis la version moodle 4.1.8 et j'ai toujours le même problème, le cron ne se lance pas.
Donc ce n'est peut être pas la version php du serveur qui pose problème.

Quelqu'un aurait une autre idée ?

Merci beaucoup
En réponse à Simon CHARBIT

Re: Mon cron ne se lance plus

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles
Vous pourriez essayer de vérifier ou remettre en place la tâche cron.
Je n'ai jamais eu de serveur dédié et n'ai jamais utilisé Plesk.
Mais est-ce que vous pouvez suivre la procédure que l'on trouve en ligne avec votre interface Plesk:
Si oui, je pense que vous devez à l'étape 5 choisir la version de PHP, et sélectionner la même version PHP qu'utilise votre site Moodle. A mon avis si on ne choisit pas la même version PHP, la tâche cron sera sans effet sur votre site Moodle.

Christian

Moyenne des évaluations Utile (4)
En réponse à Christian Bocquet

Re: Mon cron ne se lance plus

par Simon CHARBIT,
Merci merci merci, c'était exactement ça, j'avais pas du tout pensé que je devais programmer la tache depuis le cron de Plesk

Merci à tous de m'avoir aidé c'est un problème résolu sourire
Moyenne des évaluations Utile (1)