Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

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.

Décrire mon problème Discuter sur WhatsApp

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

  1. 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é.

  2. 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...).

  3. 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.

  4. 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é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.

Quelle tâche souhaitez-vous automatiser ?
À quelle fréquence la tâche est-elle faite manuellement aujourd’hui ?

Une tâche quotidienne coûte plus cher à long terme qu’une tâche ponctuelle, même longue — c’est ce qui dimensionne le retour sur investissement.

Quel temps y passez-vous à chaque fois, environ ? (facultatif)
Quels outils ou logiciels sont impliqués ? (facultatif)
Sur quelle plateforme repose la boutique concernée, si applicable ? (facultatif)
Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Questions fréquentes

Pourquoi mon export fonctionne quand je clique dessus mais jamais tout seul ?
Parce que cliquer déclenche l’URL manuellement, alors qu’aucun cron système chez l’hébergeur n’est configuré pour l’appeler automatiquement. Ce sont deux choses différentes.
Mon hébergeur ne propose pas de créer de cron, que faire ?
Certaines offres mutualisées d’entrée de gamme ne le permettent pas ou le limitent fortement. Il faut alors vérifier une alternative chez le même hébergeur, ou changer d’offre pour ce besoin précis.
L’export s’arrête toujours au même endroit, pourquoi ?
C’est souvent un dépassement du délai autorisé pour une requête HTTP. Le script doit être adapté pour traiter les données par lots plus petits, ou être exécuté en ligne de commande plutôt que par une URL.
Une tâche CRON PrestaShop est-elle différente d’un cron Linux classique ?
Non dans le principe, mais PrestaShop expose une URL à appeler plutôt qu’un script exécuté directement en ligne de commande. C’est le cron système de l’hébergeur qui fait le lien entre les deux.
Configurer un cron chez l’hébergeur suffit-il toujours ?
Pas systématiquement. Si le script échoue pour d’autres raisons, délai dépassé, mémoire insuffisante, erreur de logique dans l’export, configurer le cron ne résout que le déclenchement, pas le traitement lui-même.