cron

cron

par philippe b,
Nombre de réponses : 23
bonjour

j'aimerais svp vous poser qq questions a propos du cron apres avoir lu la doc moodle et lu le script du fichier cron.php

 est ce que le fait de taper l'url http://monmoodle.fr/admin/cron.php dans un navigateur et de lancer suffit à exécuter le cron (en sachant que chez mon hébergeur je n'ai rien demandé et n'ai rien plannifié) ?

merci

Moyenne des évaluations  -
En réponse à philippe b

Re: cron

par Jérôme DEMIAUX,
Avatar Traducteurs

Oui, pour autant que tu n'ai pas coché le paramètre l'empêchant (administration -> serveur -> règles site)

Il est d'ailleurs conseillé d'imposer un mot de passe pour lancer cette action (même menu)

Cette technique est utile si l'on n'a pas la possibilité de le faire via l'appel du script via ligne de commande ou si l'on déporte cette action chez un fournisseur de tâches cron (tel cronoo.com ou cronjobonline.com ou ...)

Attention certains hébergeurs limitent volontairement l'exécution des tâches cron, très gourmandes en ressources et donc pénalisant notamment les serveurs mutualisés.

Notons que l'exécution du cron est indispensable à la réalisation des tâches Moodle, envoi de message, notifications diverses, sauvegardes. Il doit être lancé régulièrement.

Jérôme.

En réponse à Jérôme DEMIAUX

Re: cron

par philippe b,

merci jérôme

donc...

j'ai déjà importé via fichier csv mes utilisateurs (email dans le fichier csv) il y a qq kours

j'ai lancé aujourd'hui le cron via navigateur (après vérification c 'est autorisé) on m'a affiché des choses (une sorte de rapport de ce qui a été fait) donc apparemment tout est normal

par contre mes utilisateurs n'ont pas reçu la notification qu'il avait été inscrit , est ce normal que cet envoi de message n'ait pas été fait ?

autre question quand tu écris qu'il doit être lancé régulièrement , quel est la durée conseillée (toutes les 15 min ? )pour ne pas ralentir trop son moodle ?

PS : petite rectification pour ceux qui lirait ce post dans qq mois le chemin est administration du site -> sécurité ->régles du site


En réponse à philippe b

Re: cron

par Jérôme DEMIAUX,
Avatar Traducteurs
j'ai lancé aujourd'hui le cron via navigateur (après vérification c 'est autorisé) on m'a affiché des choses (une sorte de rapport de ce qui a été fait) donc apparemment tout est normal 

Oui, le cron liste toutes les actions effectuées et en affiche le résultat. Sa lecture peut en être intéressant notamment quand il y a des problèmes, on y trouve alors des messages d'erreurs qui peuvent nous aiguiller vers la solution.

par contre mes utilisateurs n'ont pas reçu la notification qu'il avait été inscrit , est ce normal que cet envoi de message n'ait pas été fait ?

Les notifications ne concernent généralement que les auto-inscriptions (par courriel sur la pf ou par la méthode d'auto-inscription dans les cours) là c'est toi qui les inscrits -> pas de notification.
Il existe néanmoins un plugin qui le fait (mais c'est du non standard)

 autre question quand tu écris qu'il doit être lancé régulièrement , quel est la durée conseillée (toutes les 15 min ? )pour ne pas ralentir trop son moodle ? 

Ca dépend du traffic sur la PF et de la réactivité que l'on souhaite sur les forums et autres. 15 minutes semble un bon compromis. A voir aussi la durée des modifications possibles sur un forum. Si 30min alors le message pourra n'être distribué que 45min plus tard. 

PS : petite rectification pour ceux qui lirait ce post dans qq mois le chemin est administration du site -> sécurité ->régles du site 

Damned, la preuve que ce n'est pas un robot qui te répond juste un humain faillible.

En réponse à Jérôme DEMIAUX

Re: cron

par Didier Jodin,

Il semble qu'avec M 2.7 le cron soit organisé différemment, sans reprendre toutes les tâches à chaque fois, et donc puisse être lancé plus souvent. Cette documentation conseille même de le fixer à une minute.

Reste à vérifier si vraiment cela ne ralentit pas le serveur.

En réponse à Didier Jodin

Re: cron

par Pascal Maury,
Avatar Développeurs de plugins
Il est d'ailleurs conseillé d'imposer un mot de passe pour lancer cette action (même menu)

Eh ben je fais bien de lire les posts qui traine : je pensais que le cron ne pouvait être exécuter que par un admin !

A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner. Admins can keep cron running at the same schedule as before, but it is strongly recommended that they increase the frequency of running cron to at least once per minute.

En effet, il est conseillé de l'executer toutes les minutes ! Mais ca me parait bcp ca ! J'aimerais savoir ce qui nécessiterait une telle configuration ?
En réponse à Pascal Maury

Re: cron

par Didier Jodin,

Ce n'est pas une nécessité, mais une possibilité - même si elle est forment recommandée -, offerte par un script mieux organisé et plus léger.

Je l'ai configuré ainsi (une minute) depuis un mois, sans rencontrer le moindre problème ni ralentissement. Reste à voir ce que cela donne dans une période plus chargée, hors vacances.

En réponse à Didier Jodin

Re: cron

par Alex Pruneau,

Pareil depuis la version 2.7 j'ai fixer le tout a 1 minutes , présentement je n'ai jamais eu de problème de ralentissement. J' execute le tout sur une machine vm qui possède 8 go de ram et 4 processeur 2.4ghz 

En réponse à Alex Pruneau

Re: cron

par Jérôme DEMIAUX,
Avatar Traducteurs

Toutes les minutes !!!!

Il faudra que les hébergeurs, qui limitent généralement à 2cron/heure, revoient sérieusement leur politique, faire souvent plein de petits crons légers ou un gros bien lourd de temps en temps.

En réponse à Jérôme DEMIAUX

Re: cron

par philippe b,

dans la série, je me bagarre avec le cron...

je suis chez O2switch (je sais que quelqu'un d'entre vous aussi) j'ai mis un dossier moodle dans le public_html qui contient tous les fichiers 

dans cpanel j'ai créé cette tâche cron mais elle ne s'éxécute pas

15 * * * * /home/mondomaine/php -f /home/mondomaine/public_html/moodle/admin/cron.php>/dev/null 2>&1

j'ai testé aussi 

15 * * * * php -f /home/mondomaine/public_html/moodle/admin/cron.php>/dev/null 2>&1

vous voyez une erreur svp ?

merci

En réponse à philippe b

Re: cron

par Didier Jodin,

Ceci devrait fonctionner :

/usr/bin/php /home/mondomaine/public_html/moodle/admin/cli/cron.php >/dev/null 2>&1

En réponse à Didier Jodin

Re: cron

par philippe b,

bonjour didier

non ça ne fonctionne pas

le /cli avant cron.php ne vient il pas "brouiller" le chemin ?


En réponse à philippe b

Re: cron

par Jérôme DEMIAUX,
Avatar Traducteurs

Attention, cela ne se voit pas bien mais il ne faut pas oublier l'espace entre /usr/bin/php et le reste ainsi qu'entre le chemin et l'indication (facultative) >/dev/null 2>&1.

Jérôme.

En réponse à philippe b

Re: cron

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour,

Chez o2switch j'ai ceci qui fonctionne sur mes 2.5.3 et  2.7.1

php-cli -f/home2/mondomaine/public_html/monmoodle/admin/cli/cron.php>/dev/null 2>&1

 

En réponse à Daniel Méthot

Re: cron

par philippe b,

merci daniel

cette ligne fonctionne 

j'ai mis comme régle devant 15 *  * * *  , les nouvelles de forum seront relevées toutes les 15 minutes ou à 8H15 puis 9H15 puis 10H15 etc ... donc toutes les heures ? j'ai un doute sachant que je souhaite lancer le cron toutes les 15 minutes.

PS pour d'autres: il faut aussi se méfier chez O2switch des chemins absolus , on trouve parfois home et parfois home2. Il faut aller dans le gestionnaire de fichiers pour identifier le nom exact du chemin à emprunter.



En réponse à philippe b

Re: cron

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

"on trouve parfois home et parfois home2"

Oui ils ont plusieurs serveurs.

Moi je suis sur home2.

Il suffit je crois d'aller voir à la racine de son gestionnaire de fichiers pour savoir sur quel serveur on est.

En réponse à Daniel Méthot

Re: cron

par stéphane Rolland,

bonjour,

suite à une installation d'un moodle fait automatiquement par Softaculous chez o2switch, j'ai ce cron qui a été automatiquement mis en place

"php -q /home/portailj/public_html/moodleerasmusjm27/admin/cli/cron.php"

pourquoi j'ai "php -q" et toi tu as "php-cli" ??

merci pour vos réponses

En réponse à stéphane Rolland

Re: cron

par philippe b,

pourquoi je sais pas du tout

mais si t'as pas fait vérifie que ton cron tourne en ajoutant un message à un forum et tu verras bien si tu le reçois au bout de x minutes (en fonction de ton cron) 

si ça tourne pas tu sais quoi mettre 


En réponse à philippe b

Re: cron

par stéphane Rolland,

à priori mon cron se lance, mais chez o2switch, je reçois un mail à chaque fois que le cron s'execute avec le message suivant :

/tmp/xcache: Permission non accordée
Cannot open or create file set by xcache.mmap_path, check the path permission or check xcache.size/var_size against system limitation
No input file specified.


Sauriez vous à quoi cela correspond (je vais de toute façon leur envoyer un message)

merci d'avance

En réponse à stéphane Rolland

Re: cron

par Dominique-Alain Jan,
Avatar Testeurs Avatar Traducteurs

Bonjour,

En fait cela dépend du système d'exploitation que vous ou votre prestataire de service utilise. Par exemple sous Unbutu il faut installer un paquet pour pouvoir lancer des scripts php depuis la ligne de commande (CLI). Celui-ci se nomme php5-cli, sauf erreur.

Ensuite la commande qui permet alors de lancer un script php est :

  • php
  • php5
  • php5-cli
  • php-cli

en fonction du système d'exploitation. Il me semble que vous windows c'est encore une autre commande, mais comme ne m'aventure que rarement du côté obscure de la force, je ne saurais être affirmatif.

Dans votre commande, je vous que vous utilisez le paramètre -q alors que dans la configuration de Daniel il a le paramètre -f.

La différence n'est pas de taille mais elle existe tout de même.

Avec

php -q /home/portailj/public_html/moodleerasmusjm27/admin/cli/cron.php

Le script est exécuté dans le répertoire du script (ici dans votre dossier cli. Celui-ci peut posséder des propriétés qui empêche le fonctionnement adéquat du script.

Avec l'instruction

php -f /home/portailj/public_html/moodleerasmusjm27/admin/cli/cron.php

Le code est exécuté dans le dossier courant depuis lequel vous invoquez l'instruction php et qui peut donc être en dehors du serveur web (var par exemple) ou dans un dossier dans lequel l'utilisateur qui lance le script php a les droits suffisants pour sa bonne exécution (ici le dossier racine avant home).

Lorsque cela est possible, il me semble aussi préférable de lancer un cron avec l'utilisateur en charge du serveur http. Par exemple sous Ubuntu il s'agit de www-data. La création du cron devrait se faire sous cet utilisateur, soit en Unix :

crontab -u www-data -e

En espérant que cela aide

-dajan

En réponse à Dominique-Alain Jan

Re: cron

par stéphane Rolland,

merci de toutes ces précisions,

Je suis allé dans le gestionnaire de fichier pour voir les permissions du dossier "cli", elle étaient à 755, je les ai mis à 777, ce qui veut dire que tout est permis (lecture, ecriture...), et en laissant le php -q cela ne change rien.

Mais étant un simple administrateur d'un moodle hébergé chez o2switch, je t'avoue que cela me dépasse un peu, et je ne suis pas sur d'avoir la main sur ce type de manipulation, en revanche je vais leur demander de résoudre le problème et éventuellement leur communiquer ces infos.

Merci encore pour ces explications claires et précises.

En réponse à Daniel Méthot

Re: cron

par stéphane Rolland,

pourrais tu me dire quels sont tes paramètres dans le php.ini concernant le xcache car je suis persuadé que mon problème provient de là.

Merci d'avance

En réponse à stéphane Rolland

Re: cron

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Puisque ton cron fonctionne (tu le dis plus haut en précisant que tu as choisi une période de 15mn) pourquoi poursuis-tu la discussion avec d'autres questions concernant le php.ini ?

En réponse à Didier Jodin

Re: cron

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

Vous allez peut-être dire que je pinaille, mais pourquoi s'acharner à donner des liens vers la documentation en anglais, quand elle existe en français ?

Par exemple, dans la documentation sur le Cron. Bon, en l'occurrence, peut-être parce que ce paragraphe a été ajouté après le message clin d’œil

Par contre, l'information existe depuis déjà bien longtemps dans les Notes de mise à jour de Moodle 2.7, que chaque personne qui installe (ou met à jour) un Moodle 2.7 est sensé avoir lu impérativement avant l'installation !