Contrairement à d’autres plateformes l’exécution et la planification des tâches cron sur prestashop n’a rien d’intuitif pour l’utilisateur de l’administration ou pour le développeur.
C’est assez dommage sachant qu’elles sont indispensables pour faire tourner correctement une boutique et pour raffraichir entre autre les indexes de recherches ou de la navigation à facettes.
Nous allons voir ensemble comment gérer les cron ( ou tâches planifiées ) sur la dernière version 1.7 de Prestashop. ( La logique est la même pour les anciennes versions )
Installation du module cronjobs
Prestashop propose un module gratuit « cronjobs« qui est inclu nativement pour les versions antérieures, mais celui-ci n’est plus trouvable sur la version 1.7
Sa seule limite, et que la granularité des tâches est d’une heure, ce qui est amplement suffisant pour l’essentiel des sites e-commerce basiques.
Pour l’installer il faut récupérer le code sur github : https://github.com/PrestaShop/cronjobs
Une fois le module installé dans sa configuration, il faut choisir le mode « Expert » car le mode basique qui permettait de lancer des crons via un service proposé par Prestashop, n’est plus fonctionnel c’est malheureusement inutile d’essayer de l’utiliser 🙁
Le mode expert nous donne l’url à définir dans la crontab de notre serveur ( je reviendrais ultérieurement sur la configuration sur un hébergement OVH mutualisé ) .
Cette url se chargera ensuite d’exécuter l’ensemble des tâches planifiées que nous allons définir.
Ajout d’url basiques
Nous pouvons ensuite ajouter les différentes urls nécessaires au bon fonctionnement de notre boutique
- mise à jour de la navigation à facettes
- mise à jour des sitemaps
- …
Via l’interface qui est proposée nativement par le module
Ajout des tâches cron d’un module
Jusque la ce module fait aussi bien que l’autre module très utilisé pour les tâches crons ( http://www.prestatoolbox.fr/modules-gratuits/115-crontab.html)
Mais pour moi le gros avantage du module natif prestashop et qu’il est possible d’ajouter automatiquement des tâches crons via des modules 🙂
Pour faire cela c’est très simple, pour l’exemple nous allons réaliser un module hh_cronuser qui souhaite exécuter une tâche planifiée toutes les heures.
Pour cela il suffit de respecter les pré-requis suivants :
- le module doit implémenter le hook actionCronJob
- le module doit définir sa périodicité via une fonction getCronFrequency
Pour l’ensemble du fonctionnement vous pouvez voir les commentaires dans le code complet du module ci-dessous :
class Hh_CronUser extends Module { public function __construct() { $this->author = 'hhennes'; $this->name = 'hh_cronuser'; $this->tab = 'administration'; $this->version = '0.1.0'; $this->bootstrap = true; parent::__construct(); $this->displayName = $this->l('HH Cron User'); $this->description = $this->l('HH Sample Module with cron possibilities'); $this->dependencies = array('cronjobs'); // Dépendance à mettre en place si obligatoire } /** * Installation du module * @return boolean */ public function install() { if (!parent::install() || !$this->registerHook('actionCronJob') // Hook à implémenter ) { return false; } return true; } /** * Hook d'exécution de la crontab */ public function hookActionCronJob() { //Exemple basique on va créer un fichier de log et insérer un contenu dès que la tache cron est appellée $fp = fopen(dirname(__FILE__) . '/cron.log', 'a+'); fputs($fp, 'CALLED at ' . date('Y-m-d H:i:s')); fclose($fp); //Exemple plus avancé, on souhaite effectuer des taches différentes en fonction de l'heure $hour = date('H'); switch ($hour) { case 07: //Lancement des actions du matin break; case 12: //Lancement des actions du midi break; case 18: //Lancement des actions du soir break; default: //Action par défaut break; } } /** * Information sur la fréquence des taches cron du module * Granularité maximume à l'heure */ public function getCronFrequency() { return array( 'hour' => -1, // -1 equivalent à * en cron normal 'day' => -1, 'month' => -1, 'day_of_week' => -1 ); } } |
Lors de l’installation de notre module celui-ci va automatiquement enregistré sa tâche planifiée à la fréquence souhaitée, comme vous pouvez le voir sur la capture suivante :
Vous remarquez qu’il n’est possible d’enregistrer qu’une seule tâche par module, mais en cas de nécessité de plusieurs tâches à des moments différents vous pouvez toujours lancer le module toutes les heures et gérer la logique et les horaires directement dans le module comme dans mon exemple 🙂
Cas spécifique hébergement mutualisé ovh :
Chez ovh un certain nombre de restriction s’appliquent et il n’est pas possible de saisir la commande données dans le module.
Pour contourner cela nous allons donc créer un fichier « cron.php » que nous allons placer dans la racine du dossier d’administration de prestashop avec le contenu suivant :
<?php /** * Lancement des scripts cron * Utilise le module prestashop cronjobs * Permets de planifier les tâches via l'administration * Lancer ce script à minima toutes les heures */ ini_set('display_errors','on'); include dirname(__FILE__) . '/../config/config.inc.php'; $link = new Link(); $shop_url = $link->getBaseLink(); $admin_dir = basename(dirname(__FILE__)); $cron_job_token = Configuration::getGlobalValue('CRONJOBS_EXECUTION_TOKEN'); $cronUrl = $shop_url . $admin_dir . '/index.php?controller=AdminCronJobs&token=' . $cron_job_token; echo Tools::file_get_contents($cronUrl); |
Dans le manager OVH il faudra ensuite appeller l’url admin-dir/cron.php toutes les heures pour que les taches crons s’exécutent 🙂
Pour visualiser les tâches planifiées cliquer sur le bouton « plus + »
Saisissez ensuite l’adresse du cron et sélectionner la version de php de votre hébergement
Penser également a bien cocher la case « Activation » ! 🙂
février 27th, 2018
Super tuto je trouve, mais j’aurai bien voulu savoir comment modifier le script pour ovh mutu dans le cas ou tu configure un module autre que le cronjob natif (je pense à cron tab en mode webcron) en tous cas merci du travail!
mars 9th, 2018
Impossible d installer le module
Ce fichier ne semble pas être un fichier .zip de module valide.
Y aurait il une solution ?
Merci
mars 9th, 2018
Bonjour,
Vous pouvez télécharger l’archive et l’envoyer via ftp dans le dossier modules de votre prestashop.
Cordialement,
Hervé
juin 5th, 2018
Bonjour Hervé,
Merci pour votre blog qui m’est très utile!
Je cherche un moyen de mettre en place des tâches cron mais quelque chose m’échappe.
Je ne parviens pas à installer le module que vous proposez (Hh_CronUser).
Merci d’avance de me dire comment faire.
Fil 🙂
juin 15th, 2018
Merci Hervé tout marche parfaitement.
J’ai juste une question, concernant la fonction hookActionCronJob(), elle ne doit pas retourné quelquechose ?
Par exemple true or false, pour que la fonction parente puisse savoir si l’exécution s’est bien déroulée ?
juin 21st, 2018
Bonjour,
Non ce n’est pas nécessaire car aucune vérification n’est effectuée par le module comme vous pouvez le voir dans l’appel de la fonction :
https://github.com/PrestaShop/cronjobs/blob/master/controllers/admin/AdminCronJobsController.php#L67
août 18th, 2018
Bonjour, vous écrivez dans votre article « je reviendrais ultérieurement sur la configuration sur un hébergement OVH mutualisé » et justement j’ai un souci dans ce cas spécifique. Pouvez vous en dire plus ? Par avance merci
août 21st, 2018
Bonjour Muriel,
Ce cas spécifique est détaillé à la fin de l’article 😉
Cordialement,
Hervé
août 29th, 2018
Bonjour,
J’ai configuré par le module plusieurs tâches cron.
Je me demandais s’il était indispensable de créer le module hh_cronuser afin que celui de Prestashop CronJobs fonctionne ? (je suis sur un mutualisé OVH).
En mode avancé PS préconise :
« Pour exécuter vos tâches cron, veuillez insérer la ligne suivante dans votre éditeur de tâches cron : 0 * * * * curl -k etc… »
Ai-je omis quelque chose ?
Merci d’avance.
août 29th, 2018
Bonjour,
Le module hh_cronuser est uniquement un module d’exemple d’utilisation. Il n’est absolument pas nécessaire 😉
Pour le fonctionnement sur un mutualisé ovh c’est un peu particulier, mais je l’ai documenté en fin d’article, si ce n’est pas assez clair il faudrait sans doute que je mettes des captures du manager.
Cordialement,
août 30th, 2018
Bonjour, merci pour vos explication. Ma tâche cron sur le manager OVH ne fonctionne pas (elle a été suspendu).
Dans la commande à éxécuter dois-je mettre le chemin absolu du fichier cron.php ?
exemple : http://www.monsite.com/admin/cron.php ?
Car à la base j’avais juste mis : admin/cron.php
Merci d’avance,
Cdt
septembre 5th, 2018
Sur mes différents tests le chemin relatif fonctionnait très bien.
Attention car il est relatif à la racine de l’hébergement ovh ( il y a souvent un dossier www initial )
novembre 23rd, 2018
Bonjour,
Ne m’y connaissant pas en codage, j’ai copié votre partie php pour OVH dans mon dossier racine mais quand j’essaie de le lancer manuellement pour vérifier que tout fonctionne, j’ai les erreurs suivantes :
Warning: include(/***/../config/config.inc.php): failed to open stream: No such file or directory in /****/www/cron.php on line 9
Warning: include(/****/www/../config/config.inc.php): failed to open stream: No such file or directory in /****/www/cron.php on line 9
Warning: include(): Failed opening ‘/****/www/../config/config.inc.php’ for inclusion (include_path=’.:/usr/local/php5.6/lib/php’) in /****/www/cron.php on line 9
Fatal error: Class ‘Link’ not found in /****/www/cron.php on line 10
Faut il ajouter l’adresse donnée par le module CronJobs quelque part dans votre code?
Faut il protéger ce fichier et si oui comment?
Merci beaucoup pour votre aide et pour cet article!
novembre 23rd, 2018
Bonjour Arnaud,
Vous n’avez pas suivi ce que j’ai expliqué dans mon article et c’est la cause de l’erreur.
Comme précisé il faut déposer ce fichier dans le dossier d’administration de votre site et non pas à la racine.
Le fichier de configuration n’est pas trouvé en raison de cela.
Cordialement,
Hervé
novembre 24th, 2018
Bonjour Hervé,
J’ai changé et le dossier et tout marche parfaitement merci beaucoup.
N’y connaissant pas grand chose, je pensais que le dossier racine et admin étaient le même… :S
Bonne journée.
Cordialement
janvier 24th, 2019
Bonjour,
Concernant le chapitre « Cas spécifique hébergement mutualisé ovh » Nous avons renommer notre dossier Admin (admin-xxxx) que devons nous nous modifier dans le script ? ou et quel texte exactement (nous sommes novices)
1°/- Pour la tache cron OVH dans « Commande à exécuter ./ » pouvez-vous nous confirmer le chemin à renseigner est bien alors : www/admin-xxxx/cron.php
2°/- Nous sommes en PS 1.5.6.3 quel language PHP devons nous sélectionner pour la tache cron OVH en sachant que l’hébergement tourne en PHP Global 5.6 ?
3°/- En PS 1.5.6.3 avons des autres précautions à prendre pour cette mise en place ?
Nous ne vous connaissions nous venons découvrir votre blog, nous le gardons dans nos favoris.
Un GRAND merci par avance pour votre aide
Nathalie
janvier 24th, 2019
Bonjour Nathalie,
Voici mes différents retours :
1) C’est bien cela
2) Même version de php que l’hébergement donc php5.6
3) Non aucune autre restriction supplémentaire à mettre en place 😉
Merci de l’information c’est toujours plaisant de savoir que mes articles peuvent aider 🙂
Cordialement,
Hervé
janvier 24th, 2019
Bonjour Hervé,
Merci de votre aide et retour rapide. C’est également plaisant de croisé des Personnes serviables 🙂
Mais il y avait une question en préambule du point 1°/ qui est restée sans réponse concernant les script par lui même du « Cas spécifique hébergement mutualisé ovh »
« Nous avons renommer notre dossier Admin (admin-xxxx) que devons nous nous modifier dans le script ? ou et quel texte exactement ? (nous sommes novices) »
Encore un GRAND merci pour votre aide.
Bien cordialement,
Nathalie
janvier 25th, 2019
Bonjour Nathalie,
Il n’y a rien a modifier dans le script.
Seul le chemin d’appel dans le manager ovh est dépendant du chemin de votre administration et vous l’avez très bien identifié dans votre point n°1 😉
Cordialement,
Hervé
janvier 25th, 2019
Bonjour Hervé.
Ok merci, on va mettre en place.
Juste info + concernant le module natif cronjobs v1.4.0
Pour notre part,nous avons deux sites, un en PS 1.5.6.3 ou il ne fonctionne plus depuis quelques jours (d’ou nos échanges) et un second en PS 1.6.1.23 ou il fonctionne toujours correctement.
Le deux sont hébergés chez OVH en mutualisé et en PHP global 5.6.
Encore merci.
Bien cordialement,
Nathalie
janvier 26th, 2019
Bonjour Hervé,
Pour notre part ça ne fonctionne pas ! Voici le message d’OVH que nous avons reçu ce matin :
Suite à 10 erreurs d’exécution consécutives, une tâche planifiée (CRON) a été désactivé :
Commande exécutée : www/admin-xxxx/cron.php
Ces erreurs d’exécution sont généralement causées par une anomalie dans le code ou un temps d’exécution trop long.
N’hésitez pas à modifier votre tâche planifiée directement dans votre Espace Client.
…/…
Merci à vous quand même.
Bien cordialement,
Nathalie
janvier 28th, 2019
Bonjour,
Essayez de regarder dans les logs cron ou d’erreur de votre hébergement il doit y’avoir un message d’erreur et c’est pour cela qu’ovh suspends la tache cron.
janvier 29th, 2019
Bonjour Hervé,
Voici un copier/coller des Logs cron (les fichiers « aaaaaaaaaa » et « admin-xxxxx » sont modifiés ici):
[2019-01-25 17:17:03] ## OVH ## START – 2019-01-25 17:17:03.049719 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-25 17:17:03]
[2019-01-25 17:17:03] ## OVH ## END – 2019-01-25 16:17:03.214537 exitcode: 255
[2019-01-25 18:17:02] ## OVH ## START – 2019-01-25 18:17:02.790109 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-25 18:17:02]
[2019-01-25 18:17:02] ## OVH ## END – 2019-01-25 17:17:02.907228 exitcode: 255
[2019-01-25 19:17:02] ## OVH ## START – 2019-01-25 19:17:02.507276 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-25 19:17:02]
[2019-01-25 19:17:02] ## OVH ## END – 2019-01-25 18:17:02.590611 exitcode: 255
[2019-01-25 20:17:02] ## OVH ## START – 2019-01-25 20:17:02.634501 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-25 20:17:02]
[2019-01-25 20:17:02] ## OVH ## END – 2019-01-25 19:17:02.738333 exitcode: 255
[2019-01-25 21:17:02] ## OVH ## START – 2019-01-25 21:17:02.546569 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-25 21:17:02]
[2019-01-25 21:17:02] ## OVH ## END – 2019-01-25 20:17:02.678904 exitcode: 255
[2019-01-25 22:17:02] ## OVH ## START – 2019-01-25 22:17:02.998190 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-25 22:17:02]
[2019-01-25 22:17:02] ## OVH ## END – 2019-01-25 21:17:03.090237 exitcode: 255
[2019-01-25 23:17:02] ## OVH ## START – 2019-01-25 23:17:02.664201 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-25 23:17:02]
[2019-01-25 23:17:02] ## OVH ## END – 2019-01-25 22:17:02.756254 exitcode: 255
[2019-01-26 00:17:02] ## OVH ## START – 2019-01-26 00:17:02.995320 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-26 00:17:02]
[2019-01-26 00:17:02] ## OVH ## END – 2019-01-25 23:17:03.102377 exitcode: 255
[2019-01-26 01:17:02] ## OVH ## START – 2019-01-26 01:17:02.763010 executing: /usr/local/php5.6/bin/php /homez.741/aaaaaaaaaa/www/admin-xxxxx/cron.php
[2019-01-26 01:17:02]
[2019-01-26 01:17:02] ## OVH ## END – 2019-01-26 00:17:02.960401 exitcode: 255
En sachant que :
1°/- La tache cron sur OVH est bien réglée sur : « Toutes les heures » ; « Tous les jours » ; « Tous les jours de la semaine » ; « Tous les mois »
2°/- le module cronjobs PrestaShop est bien en mode avancé.
3°/ – les 3 principales taches cron sur le modulecronjobs PrestaShop sont programmées une seule fois chaque jour et à des heures différentes soit : 11, 19 et 02 heures et les 3 sur « Tous les jours » ; « Tous les mois » ; « Tous les jours de la semaine »
Encore un grand MERCI pour votre aide.
Bien cordialement,
Nathalie
janvier 29th, 2019
Votre tâche cron renvoie un code erreur 255
[2019-01-25 17:17:03] ## OVH ## END – 2019-01-25 16:17:03.214537 exitcode: 255
Si tout fonctionne celui-ci devrait renvoyer un code 0 comme sur la ligne suivante :
[2019-01-01 02:43:01] ## OVH ## START – 2019-01-01 02:43:01.614987 executing: /usr/local/php5.6/bin/php /*/stock.php
[2019-01-01 02:43:01] Pas de fichier stock à traiter
[2019-01-01 02:43:01] ## OVH ## END – 2019-01-01 01:43:01.768044 exitcode: 0
Essayez de vous connecter en ssh et de lancer la commande pour voir si vous avez une erreur.
Ou sinon regardez également dans les logs d’erreurs php si un message colle avec l’heure d’éxécution du cron.
avril 22nd, 2019
Bonjour,
J’ai mis en place votre solution et j’ai l’impression qu’il ne se passe rien.
1)Quand vous parlez du module cron job natif vous parlez bien du module « Éditeur de tâches cron v1.4.0 – by PrestaShop »
2) Si les taches cron fonctionnent bien est ce que la colonne « Dernière exécution » va se mettre à jour normalement ?
pour l’instant, si j’exécute /admin8xx3/cron.php j’ai une page blanche et les dates ne se sont pas mise à jour dans le module.
3) Enfin je n’ai pas compris où il fallait mettre: 0 * * * * curl -k « https://www.ahcheval.fr/admin8xx3/index.php?controller=AdminCronJobs&token=3xxx »
Nous sommes sur un ovh mutualisé. php 5.6
Merci pour votre post très intéressant.
avril 23rd, 2019
Bonjour,
1) Tout à fait c’est bien ce module
2) Tout dépends de la programmation des différentes tâches planifiée, l’appel de la page en lancera uniquement si elles matchent.
3) Cette partie doit être configurée dans votre hébergement ovh ( cf. https://docs.ovh.com/fr/hosting/mutualise-taches-automatisees-cron/ )
Cordialement,
Hervé
mai 1st, 2019
Bonjour,
je vous remercie pour vos réponses;
3) j’ai lu la doc ovh 10 fois sur le sujet et j’en ai les yeux qui se croisent mais je ne vois toujours pas où mettre cette ligne dans mon hébergement ovh; créer un tache cron avec ce genre de caractères n’est pas possible en ovh mutualisé, donc où exactement faut-il mettre cette ligne 0 * * * * curl -k « https://www.ahcheval.fr/admin8xx3/index.php?controller=AdminCronJobs&token=3xxx ?? si vous pouviez préciser un peu ce serait super.
Bien cordialement, Solene
mai 6th, 2019
Bonjour Solène,
Comme expliqué en fin d’article dans le cas d’ovh il faut créer sur votre hébergement un fichier cron.php
Et c’est celui-ci qu’il faut appeler via les tâches planifiées.
La documentation d’ovh est assez explicite sur ce sujet 🙂 => https://docs.ovh.com/fr/hosting/mutualise-taches-automatisees-cron/
Cordialement,
Hervé
mai 22nd, 2019
Bonjour Hervé,
Merci pour votre sujet très intéressant !
Simplement je rencontre un soucis que je n’arrive pas à résoudre depuis quelques jours…je suis un peu une novice en la matière.
J’ai installé un module qui me demande d’installer sur mon serveur les tâches CRON suivantes (je suis chez OVH mutualisé) :
* * * * * /usr/bin/flock -n /tmp/mmo_process_import.lockfile /usr/bin/curl https://mon-site.com/modules/ps_mmoconnector/processImportCron.php >> /home/destockoby/www/modules/ps_mmoconnector/logs/process_import_cron.log
7 */1 * * * /usr/bin/flock -n /tmp/mmo_cache_clean.lockfile /home/destockoby/www/modules/ps_mmoconnector/cache_clean >> /home/destockoby/www/modules/ps_mmoconnector/logs/cache_clean.log
15 0 * * * /usr/bin/flock -n /tmp/mmo_update_product.lockfile /usr/bin/curl https://mon-site.com/modules/ps_mmoconnector/updateProductURLsCron.php >> /home/destockoby/www/modules/ps_mmoconnector/logs/update_product_urls_cron.log
J’ai suivi vos étapes à savoir de créer un fichier.php à mettre à la racine de l’admin mais cela ne fonctionne toujours pas dois-je y inclure les tâches suivantes demandées par mon module ou simplement le script que vous avez fourni ?
Merci beaucoup d’avance de votre aide !
Bien cordialement,
Marie
mai 23rd, 2019
Bonjour Marie,
Vous avez plusieurs possibilités :
Le plus simple de votre cas serait de faire l’installation standard telle que décrit dans l’article.
Vous pouvez ensuite dans la liste des tâches planifiées ajouter les lien : https://mon-site.com/modules/ps_mmoconnector/processImportCron.php et https://mon-site.com/modules/ps_mmoconnector/updateProductURLsCron.php avec la fréquence souhaitée.
( Dans votre exemple le script * * * * * souhaite tourner toutes les minutes, ce ne sera pas possible via le module et limité à une fois par heure )
La gestion des locks et les fichiers de logs pas gérés non plus.
Sinon vous pouvez également créer les tâches planifiées directement vers ces fichiers directement dans le manager ovh ( via le chemin absolu du fichier )
Cordialement,
Hervé
mai 29th, 2019
Bonjour Hervé,
Merci beaucoup pour votre aide ça fonctionne parfaitement !!!
Cordialement,
Marie
juin 4th, 2019
Bonjour Hervé,
Je souhaiterais appeler chaque heure dans ma tâche CRON un lien mettant à jour mes commandes entre différentes marketplaces.
Je suppose que je dois appeler mon lien dans la fonction hookActionCronJob, mais je ne connais pas la syntaxe à utiliser pour appeler un lien (https://mondomaine/modules/monmodules/fichier.php)
Pourriez-vous m’indiquer la syntaxe général pour ce cas ?
Merci pour tous vos tutoriels !!!
juin 17th, 2019
Bonjour Ronan,
Désolé du délai de réponse.
Vous pouvez ajouter le lien absolu vers la page de votre module dans le hook en utilisant la classe link si c’est un controlleur front de votre module
$moduleLink = $this->context->link->getModuleLink('monmodules','moncontroller');
Ou si ce n’est pas le cas via le lien de base de prestashop :
$moduleLink = $this->getBaseLink().'modules/monmodules/fichier.php';
Cordialement,
Hervé
juin 21st, 2019
Bonjour,
Je ne suis pas chez OVH mais chez 1&1 , mes tâches cron ne s’exécutent pas.
est ce que c’est la même chose que pour OVH ?
cordialement
juin 27th, 2019
Bonjour,
Je ne saurais malheureusement pas vous répondre car je ne connais pas les hébergements 1&1.
Cordialement,
Hervé
avril 26th, 2020
bonjour, alors j’ ai suivit votre tuto est tous d’ abord Merci c ‘est le seule qui aide vraiment pour cette problématique en tous cas qui est clair pour moi. Mon problème est que dans les log cron la tache semble avoir été exécuter sans problème ( si je ne me trompe pas ) .Je suis sur ovh mutalisés . Ci dessous le message :
## OVH ## START – 2020-04-26 12:44:02.222152 executing: /usr/local/php5.6/bin/php /homez.423/****/www/ADMIN/cron.php
[2020-04-26 10:44:02]
[2020-04-26 10:44:02] ## OVH ## END – 2020-04-26 12:44:03.353206 exitcode: 0
MAIS dans le log erreur , j’ ai ce message et constate que sur le module la tache cron ne c’est pas executer. C’est un module pour les emails de relance clients.
[warn] [client 127.0.0.1] [host nappybouo.cluster015.ovh.net] (22)Invalid argument: Cannot fix environment variables for container, continue anyway.
Auriez vous une solution a ce problème s’ il vous plait ? ou peux etre que j ‘ai mal fait une étape.
avril 27th, 2020
Bonjour,
Les infos qui remontent dans vos logs me semblent corrects.
Le message qui remonte est uniquement un warning qui ne devrait pas avoir d’incidence.
L’article date un peu il faut que je vérifie si cela fonctionne toujours car je gère assez peu de sites en mutualisé.
Cordialement,
Hervé
mai 2nd, 2020
bonjour,
merci pour votre rapide réponse. d’ accord, j’ attends votre retour dans ce cas.
bonne journée
mai 11th, 2020
Bonjour, je vous joins ci dessous le scrips du fichier Cron. Peux etre que ca vous aidera à comprendre mon problème.
getBaseLink();
$ADMIN = basename(dirname(__FILE__));
$cron_job_token = Configuration::getGlobalValue(‘CRONJOBS_EXECUTION_TOKEN’);
$cronUrl = $shop_url . $ADMIN . ‘/index.php?controller=AdminCronJobs&token=’ . $cron_job_token;
echo Tools::file_get_contents($cronUrl);
Cordialement,
août 14th, 2020
Bonjour,
mon cas est un « cas spécifique hébergement mutualisé ovh ».
Je n’ai pas réussit à installer cronjobs, mais j’ai crontab par Samdha.
Dans mon cas quel texte dois-je mettre alors dans mon fichier cron.php?
Merci par avance de votre aide.
Bien à vous.
août 24th, 2020
Bonjour,
Je ne connais malheureusement pas assez le module de Samdha pour vous dire si une modification est nécessaire sur un hébergement ovh.
Il faudrait voir directement avec lui.
Cordialement,
Hervé
novembre 1st, 2020
Bonjour,
Comme j’ai vu dans un autre commentaire j’ai le message :
« Impossible d installer le module
Ce fichier ne semble pas être un fichier .zip de module valide. »
J’ai tenter de faire ce que vous avez dit mais je ne comprends pas très bien. J’ai copier le fichier zip sur le serveur, et j’ai également essayé d’extraire le fichier avant de le copier. Dans les 2 cas je ne comprends pas quelle est la suite. Le module n’apparait pas dans ma liste et je ne vois pas comment l’installer d’une façon différente.
Qu’est ce que j’ai raté ?
Merci
novembre 9th, 2020
Bonjour Florian,
Pour installer le module lorsque vous récupérer le .zip il faut l’extraire sur votre ordinateur.
Assurez vous que le nom du dossier est bien « cronjobs » ( et pas cronjobs-master par exemple )
Envoyez ensuite ce dossier dans le dossier modules de votre site via ftp.
Le module devrait ensuite être trouvé dans la liste.
Cordialement,
Hervé