Les tâches CRON PrestaShop (exports, synchronisations) ne s’exécutent pas
Une tâche CRON PrestaShop, comme un export CSV quotidien, n’est presque jamais exécutée par PrestaShop lui-même : c’est une URL précise, souvent protégée par un paramètre token, qu’un vrai cron système chez l’hébergeur doit appeler à intervalle régulier. Installer un module qui « génère un export chaque jour » ne suffit donc pas tant que cette entrée cron n’existe pas côté hébergement.
Une tâche planifiée n’est pas un planificateur interne
Un module qui promet un export automatique chaque jour ne fait, en réalité, que préparer une URL à appeler, du type index.php?controller=...&token=.... PrestaShop ne surveille pas l’horloge en permanence pour déclencher cette action tout seul.
C’est un vrai cron système, configuré chez l’hébergeur, une entrée crontab ou son équivalent dans l’espace client, qui doit appeler cette URL à intervalle régulier. Sans cette entrée, la tâche fonctionne parfaitement quand on clique dessus manuellement pour tester, et ne se déclenche jamais toute seule ensuite. C’est la confusion la plus fréquente derrière ce symptôme.
Pourquoi ça marche en test mais jamais tout seul
Certains hébergements mutualisés d’entrée de gamme limitent, voire interdisent, la création d’un vrai cron système, ou n’autorisent qu’un nombre restreint d’entrées avec un intervalle minimal élevé. Le module semble mal conçu alors que c’est la possibilité même de programmer un cron qui manque côté hébergement.
Autre cause fréquente : un script trop long pour le délai autorisé par un appel HTTP. Un cron déclenché par une requête web classique est souvent limité à quelques dizaines de secondes d’exécution ; un export ou une synchronisation qui traite un catalogue volumineux peut dépasser ce délai et s’interrompre avant la fin, sans que rien ne le signale clairement.
Ce que je vérifie et configure
-
L’URL exacte attendue
Je récupère l’URL complète avec son paramètre token, généralement visible dans l’écran de configuration de la tâche planifiée ou du module concerné.
-
La disponibilité d’un vrai cron chez l’hébergeur
Je vérifie que l’offre d’hébergement permet de créer une entrée cron système, avec une fréquence adaptée au besoin réel (quotidien, horaire...).
-
Le temps d’exécution du script
Si le traitement dépasse le délai autorisé par un appel HTTP, je vérifie s’il faut découper le travail par lots ou passer à une exécution en ligne de commande.
-
Le résultat réel de l’exécution
Je m’assure que l’URL appelée automatiquement produit bien le même résultat qu’un appel manuel, et pas une erreur silencieuse liée à l’absence de session ou de droits.
Pages liées
-
Développement d’un module PrestaShop sur mesure
Quand un script d’export doit être découpé par lots ou adapté à une exécution en ligne de commande plutôt qu’HTTP.
-
Migration PrestaShop 1.6 vers 1.7 ou 8
Pourquoi les tâches planifiées sont à revérifier après un changement d’hébergement ou de version.
-
Boutique PrestaShop lente à charger
Quand un traitement en tâche de fond trop lourd ralentit aussi les pages consultées par les visiteurs.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.