Le CRON du pauvre pour Prestashop

Sur une boutique Prestashop on est souvent amené à devoir mettre en place une tâche CRON, de manière à exécuter une tâche journalière. Le problème c’est que pour la mise en oeuvre de cette tâche, cela nécessite que votre hébergeur propose le support CRON.

La tâche CRON

Le principe d’un CRON est tout simple, on cherche à exécuter de manière régulière un traitement pour que la boutique Prestashop soit toujours actualisée avec les bons paramètres. L’appel de la tâche CRON se fait simplement en appelant une url spécifique, qui va ensuite déclencher automatiquement le traitement dans Prestashop.

Une tâche CRON pour faire quoi ?

Prenons peut-être des exemples que j’ai déjà expérimentés ou qui sont plus où moins fréquents. Dans l’exécution des tâches CRON quotidiennes, on peut retrouver par exemple des tâches pour :

  • mettre à jour automatiquement les devises
  • reconstruire l’index de recherche
  • reconstruire l’index de la navigation à facettes
  • mettre à jour le sitemap
  • effectuer de la relance panier
  • lancer automatiquement l’envoi de la newsletter
  • re-générér un flux pour un comparateur de prix

Bref vous pouvez en avoir un peu pour tout… cela dépend aussi des modules que vous exploitez. Dans bien des cas, vous devez mettre en place des tâches automatisées qui garantissent que tout est à jour et qui vous évite aussi de devoir effectuer manuellement (chaque jour) les mêmes opération dans le back-office.

Le problème

Dans le cas de certains clients, leur hébergeur ne propose pas forcément la fonction CRON… (ou parfois en invite de commande, cela prend aussi plus de temps pour manager). Du coup on peut bien sûr utiliser un service CRON externe (genre Setcronjob), mais ceux-ci appliquent des limitations… L’appel des urls est limité…  en quantité et aussi en temps d’exécution… du coup, en fin de compte, il faut bien souvent basculer sur une offre payante.

La solution

Sur Prestashop Addons, il existe un module gratuit qui s’appelle Crontab et qui permet à un serveur qui n’aurait pas de processus cron, de quand même pouvoir exécuter régulièrement une liste de traitements.

Il existe quelques modules gratuits cool, sur Prestashop Addons


Dans la configuration du module, il suffit ensuite d’ajouter les urls qu’on désire exécuter et la fréquence souhaitée. Vous pouvez ensuite voir (au fond de la capture) la dernière exécution (quand l’url a été appelée pour la dernière fois).

Crontab, un module intelligent et facile à configurer


Comment ça marche ? En fait le module fonctionne avec le visiteur qui vient sur le shop… La 1ère personne qui fait afficher une page du shop, exécutera sans le savoir les urls CRON. Ensuite, le système considère que l’url a été exécutée et ne chargera plus la tâche (par exemple ici la tâche doit s’effectuer une fois par jour).

L’inconvénient de ce système, si vous avez votre premier visiteur qui vient sur le shop à 8h30… c’est seulement à ce moment-là que le CRON sera exécuté (et non pas à minuit comme désiré). Ce système est donc intéressant pour autant que l’exécution du traitement ne soit pas « vital » selon une heure précise à respecter.

Bilan

Ce module est assez pratique, car dans passablement des cas… le traitement n’est pas vital… si l’exécution se fait dans la journée c’est suffisant. Ce que je peine à comprendre c’est que certains hébergeurs ne proposent pas une interface graphique pour définir simplement ses tâches CRON… même pour le client final ce n’est pas pratique. Au moins avec un module du genre vous savez exactement les urls qui sont exécutées quotidiennement et le client peut même envisager de les manager lui-même.

Notez mon billet, Google va adorer :
1 étoiles - J'aime pas !2 étoiles - Bof !3 étoiles - Bien !4 étoiles - Très bien !5 étoiles - Génial ! (5 votes, moyenne : 5,00 sur 5)
Loading...

6 commentaires sur “Le CRON du pauvre pour Prestashop”

  1. J’ai reçu un email de « http://www.easycron.com » qui me demande de faire un peu de pub aussi pour leur service…

    Il y’a une option « gratuite » dans leur service qui devrait pouvoir suffire pour les petits shop avec un faible volume de données et qui n’auraient pas la tâche « CRON » dans leur hébergement…

    Voilà… c’est dit !

    1. Hello,

      Prestashop Addons ont stoppé avec les options gratuites ? Dommage…

      De mon côté j’avais essayé de publier quelques modules en gratuit, mais j’ai compris au final que c’était pas vraiment dans leur objectif.

      Merci d’avoir actualisé le lien, cela aidera d’autre personnes.

      A bientôt !

  2. Bonjour.
    J’ai un fournisseur qui me genere un csv pour les stock qui est mis à jour tous les jours a midi.
    Je peux le recupérer via le meme lien tous les jours.
    Est ce qu’on peux créer un cron pour lire ce csv et l’intégrer a notre boutique?
    En faite c’est simplement pour avoir une mise a jour des stocks sur ma boutique en fonction de sa boutique.
    J’espere être assé clair dans mon explication.
    Merci

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *