Jump to content

Taches CRON ne se lancent pas


Recommended Posts

Bonjour , mon site est passe en production depuis quelques heures , et je me rends compte qu'après tests, les taches cron ne s'executent pas . en l'occurence j'ai une seule tache qui est censé s’exécuter toutes les heures pour un module de relance de panier abandonné .

 

le module cron est le module cronjob 1.3.3

 

quelqun aurait il un idée de ce qu'il faut faire ?

merci

Link to comment
Share on other sites

dans l'editeur je vois que la derniere execution semble correcte (toutes les heures) mais la tache en elle meme ne se lance pas . j'ai teste manuellement l'url de la tache et cela fonctionne pourtant ? bizzare bizzare ce probleme

Link to comment
Share on other sites

Essayez cette astuce si vous avez accès aux tâches cron sur votre panel hébergement (à voir avec yourshop):
Voici une solution qui fonctionne et vous permet d'utiliser le module natif.
Allez dans le module cronJob de Prestashop et rentrez vos urls
Choisissez le mode avancé et copiez l'adresse de l'url.
Créez un fichier appelé "cron.php" à la racine de l'admin de votre shop
Dans celui-ci vous mettez:
 

<?php

/*
** Changez cette variable en true ou false pour que le cron
** affiche quelque chose - ceci apparaît dans les log de la
** console
*/
$verbose = true;

/*

** sur l'écran de configuration du module cronjobs
** après avoir activé le mode avancé
*/
$cronjob_url = <<< EOT
http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe
EOT;

/**************************************
** Ne rien modifier après cette ligne **
***************************************/
error_reporting(E_ALL);
$break_line = (php_sapi_name() == "cli") ? PHP_EOL : '<br/>';
$output = $verbose ? $break_line.'Cron Report of '.date('c').$break_line.$break_line : '';

$cronjob_url = trim($cronjob_url);
$ch = curl_init($cronjob_url);
curl_setopt($ch, CURLOPT_URL, $cronjob_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

$data = curl_exec($ch);

if ($verbose) {
if($data)
$output .= 'Ok'.$break_line.$data;
else
$output .= 'Failed';
}
curl_close($ch);

die($output);

en remplaçant évidemment 'http://www.votre_sit...937e7fda7182ebe' par l'url indiquée dans le module.
Mettez toutes vos tâches en exécution: réglez les heures, jours, correspondant à leur usage.
Dans votre panel OVH, tâches planifiées créez une nouvelle tâche:

  • Adresse (dépend de la structure de votre ftp) :
    • Si votre boutique est dans www, www/votrerepertoireadmin/cron.php
    • Si vous êtes dans un sous-répertoire, www/votrerépertoireprestashop/votrerepertoireadmin/cron.php
    • Si vous êtes dans un répertoire adjacent à www, votrerépertoireprestashop/votrerepertoireadmin/cron.php
  • Nom de la tache: cron Prestashop
  • Version php : 5.4
  • Log par email (si vous en voulez)
  • Fréquence: Tous les jours et toutes les heures du jour

Validez
Votre script sera exécuté toutes les heures et déclenchera les tâches planifiées dans cronjobs.
Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/adminXXX/cron.php

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...