Configurer une tache CRON

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
J'ai un petit probleme avec une tache CRON que j'ai créé. J'ai créé un module qui a pour seul but d'executer une tache cron dans laquelle je recupere des flux RSS pour les enregistrer dans la base de Drupal. Cette partie la fonctionne, ca recupere bien les données et ca les insere. Le probleme est que cette tache CRON devrait s'executer toutes les heures or ce n'est pas vraiment ca :
- d'une part si je ne clique pas sur le lien 'lancer les taches crons' depuis l'interface de configuration admin, rien n'indique que la tache est executée.. (le compteur present me dit que rien n'a été fait depuis 1jour)
- d'autre part, j'ai ajouté une instruction echo pour m'assurer de son fonctionnement sauf que du coup je me rend compte que ma tache est executée a chaque fois que je change de page dans mon site Drupal..

Si vous auriez quelques conseil pour regler ce probleme ca me sauverait !
Merci d'avance

Forum : 
Version de Drupal : 
Tags : 

Bonjour,
Non, je ne vois pas bien de quoi vous parlez ?
Pour l'instant mon site est en local sur une machine windows (pour le développement).
Je croyais qu'avec Drupal 7, il suffisait de créer un hook_cron dans un module pour que la tache soit appelée lors de l'exécution de la tache CRON de Drupal (/admin/config/system/cron) ?

C'est vrai, mais encore faut-il que le script cron.php soit appelé, ce qui ne se fait pas spontanément. Sous Linux, on utilise une fonctionnalité du système qui permet d'exécuter cycliquement des commandes : cron, justement.

Je n'utilise plus Windows depuis bien longtemps, donc je ne sais pas comment les gens procèdent ; je leur laisse cet aspect de la question.

En regardant de plus près, sous D7, pour que le cron soit appelé, il faut que des pages soient chargées par des utilisateurs : ceci explique que votre tâche soit exécutée à chaque chargement. Peut-être devez-vous gérer vous même sa périodicité ?

Merci de ces informations, en effet ca expliquerait pourquoi j'avais l'impression que la tache CRON de Drupal n'était jamais exécutée.
Je vais continuer a chercher pour la périodicité, effectivement j'avais trouvé une instruction fixant le timeout de la tache mais étant optionnelle, je ne l'avais pas mis pour ne pas avoir de timeout.

Bonjour,
Je relance mon post car je n'ai pas réussi a corriger tous les problèmes. Pour la tache qui ne s'exécutait pas, en fait il y avait des flux qui provoquaient des erreurs et ca se stoppait. Par contre pour la fréquence de déclenchement de la tache, c'est toujours le même probleme.
Lorsque j'active mon module, ca fonctionne normalement, pas de tache n'importe quand, mais si je navigue un peu dans le site, à un moment la tache va s'exécuter et après c'est a chaque clic...
J'ai regardé le fichier cron.php de Drupal mail il ne dit pas grand chose...
Si vous avez une idée ?
Merci d'avance

Je ne sais pas trop comment poorman's cron gère sa périodicité, mais je ne serais pas autrement surpris qu'il crée un fichier quelque part. Tous les sous-répertoires dans sites/default/files sont-ils bien accessibles ?

A l'exécution du cron, avez-vous des messages dans le watchdog ?