Jump to content

Recommended Posts

bonjour tout le monde je pense avoir un soucis avec mon prestashop ou j'ai ma configurer les tache cron

 

sur mon prestashop j'ai sa

 

elle se sont jamais lancé

 

15082908030164569.png

 

et dans mon manager ovh j'ai sa :

 

150902110104413816.png

 

 

j'ai fait un truc qu'il faillais pas ou quoi ? merci de votre aide

Edited by PcLanDofficiel (see edit history)

Share this post


Link to post
Share on other sites

Bonjour PCLanDOfficiel,

il y a 2 fois la même image, aussi difficile de voir ce qu'il y a dans le manager OVH.

 

Par curiosité, est-ce que votre serveur OVH est un mutualisé ou un dédié ? (si c'est un mutualisé, le cron depuis prestashop ne marche pas, il faut tout faire à la main depuis le manager OVH)

 

Cordialement

Share this post


Link to post
Share on other sites

Bonjour,

Je suis également chez OVH je les ai contacté si j'exécute mes tache cron directement via le Back office de mon hébergement ceci fonctionne. 
Le problème que je rencontre c'est que via le panel OVH je ne peux pas indiqué des tache avec des caractère spéciaux or pour exécuter mes tache de mon module Amazon j'ai le sigle "&".

 

Quand je veux utiliser le module de Prestashop : Tache planifié.
Les taches s'installe bien mais ne s'exécute : Jamais

Avez vous une solution ? Je pense que mon problème est identique au tiens : PcLanDofficiel

 

Merci .

Edited by MICKAEL BLANCHARD (see edit history)

Share this post


Link to post
Share on other sites

ben voila ,(bonjour à toi au passage)

 

oui j'ai le même soucis que toi , impossible de l'intégrée comme il y a un token a chaque tache et que OVH n'en veux pas c'est trés trés dur

 

la solution c'est quoi , laisser prestashop ou les deux ovh et prestashop ???

 

cordialement http://shop.pcland-officiel.fr

Edited by PcLanDofficiel (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

pourquoi retrouve t on les même tâches cron sur PrestaShop et OVH ?

 

Soit vous les mettez sur OVH soit sur PrestaShop, pas les 2.

 

Ensuite utilisez vous le mode basique de cronjob ou le mode avancés ?

Share this post


Link to post
Share on other sites

ah d'accord, ben sur ovh elle s'execute mais pas dans prestashop j'aurai penser le contraire ,

 

comment forcer la mise a jours de cron , (l'actualiser tout suite quoi )

 

faut vraiment attendre une heure ?

Share this post


Link to post
Share on other sites

Même problème pour moi, impossible de mettre des caractères spéciaux.

Pour contourner ca, j'utilise un .php qui appelle la tache à caractère spéciaux, et c'est ce .php que j'appelle en cron.

 

Petit exemple de script pour refaire la sitemap en cron.

RebouildSitemap.php (qui est appelé par le cron ovh)

<?php
 echo 'La requête démarre ';

$url = 'http://votresite/modules/blabla?token=xxx&id_shop=1';

// Création d'un gestionnaire curl
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Exécution
$data = curl_exec($ch);
echo $data;


// Vérification si une erreur est survenue
if(!curl_errno($ch))
{
 $info = curl_getinfo($ch);

 echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];
}

// Fermeture du gestionnaire
curl_close($ch);

 echo 'Fini';

?>

Edited by cinevente.com (see edit history)

Share this post


Link to post
Share on other sites

ah d'accord, ben sur ovh elle s'execute mais pas dans prestashop j'aurai penser le contraire ,

 

comment forcer la mise a jours de cron , (l'actualiser tout suite quoi )

 

faut vraiment attendre une heure ?

 

En fait, sur un mutu, tu n'as pas accès au cron en dehors de l'interface de ton manager. Donc Prestashop croit qu'il a ajouté les taches crons, mais OVH les ignore, donc elles ne tournent pas.

 

Je n'ai pas trouvé de moyen de forcer l'exécution immédiate.

 

De plus, sur les OVH mutu, tu ne choisis pas la minute d'exécution dans une heure, donc parfois ca tourne à Xh55, pour peu que tu coches à Xh02, ca tournera à X+1h55, ca fait parfois long quand tu testes une correction.

 

Pour moi l'avantage de passer par un script php intermédiaire (en dehors de pouvoir utiliser des caractères spéciaux dans l'url), c'est que tu peux aussi lancer directement à la main en tapant ton chemin du php directement dans un navigateur. En retour, le souci, c'est les timeout. Les taches cron sur mutu ne timeout pas (enfin je n'ai rien qui prenne plus d'une heure à tourner), alors que lancées en direct dans le navigateur, c'est 5 minutes maximum, ca empêche donc de voir d'éventuelles traces sur les trucs un peu longs. Et ca force à bricoler une version par tranches pour debugger.

 

L'autre élément auquel il faut faire attention quand on utilise un .php d'indirection pour appeler une url, c'est les tokens d'url. Parfois une mise à jour de module ou une désinstallation/réinstallation, et le token change. Si on oublie de le changer dans son .php, il tourne dans le vide, le traitement n'est pas fait et il n'y a pas d'avertissement.

Edited by cinevente.com (see edit history)

Share this post


Link to post
Share on other sites

moi la j'ai laisse tache cron dans mon back office de de prestashop mais c'est toujours pas exécuter

 

Comme expliqué au dessus, sur un mutu, les taches cron dans le BO Prestashop ne seront jamais exécutées, car tu n'as pas accès au cron de ton serveur mutu. Le seul moyen d'y toucher, c'est le manager OVH.

Share this post


Link to post
Share on other sites

ah ben oui mais les caractères je peux pas les mettre sur ovh je peux faire comment ?

 

Je donne la solution sur cette page (post #8).

Share this post


Link to post
Share on other sites

alors si j'ai bien suivi je fait un .php avce sa dedans

 

<?php
 echo 'La requête démarre ';

$url = 'http://votresite/mod...n=xxx&id_shop=1'; la ici je met tout les tache cron ????

// Création d'un gestionnaire curl
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Exécution
$data = curl_exec($ch);
echo $data;


// Vérification si une erreur est survenue
if(!curl_errno($ch))
{
 $info = curl_getinfo($ch);

 echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];
}

// Fermeture du gestionnaire
curl_close($ch);

 echo 'Fini';

?>

Share this post


Link to post
Share on other sites

Je ne connais pas le contenu de tes scripts .php appelés dans le manager ovh. (je viens de voir que tu as changé l'image dans le post originel).

 

Il est fort possible qu'ils fonctionnent.

 

Le problème de ma solution, c'est que ca va être compliqué à mettre en place pour toi si tu ne comprends pas ce qui se passe, ca ne marchera pas avec le multi-boutique, et ca ne marchera plus dès que quelque chose changera.

 

Mais sinon, dans $url, tu ne mets pas toutes les taches cron, tu mets l'url d'une seule tache, et il te faut faire un .php par tache.

Exemple, ton propre gsitemap.php serait comme ca :

<?php
 echo 'La requête démarre ';

$url = 'http://shop.pcland-officiel.fr/modules/gsitemap/gsitemap-cron.php?token=05aa4ce684&idshop=1';

// Création d'un gestionnaire curl
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Exécution
$data = curl_exec($ch);
echo $data;


// Vérification si une erreur est survenue
if(!curl_errno($ch))
{
 $info = curl_getinfo($ch);

 echo 'La requête a mis ' . $info['total_time'] . ' secondes à être envoyée à ' . $info['url'];
}

// Fermeture du gestionnaire
curl_close($ch);

 echo 'Fini';

?>

 

et c'est lui que tu appeleras dans le manager OVH pour la tache cron de rebuild du sitemap.

 

Si tu fonctionnes comme cela, crée un nouveau répertoire pour centraliser tous tes .php au même endroit (n'oublie pas de mettre un index.php dedans pour que les gens ne puissent pas voir le contenu du répertoire).

Share this post


Link to post
Share on other sites

donc c'est bien se qu'il me sembler un part tache,

 

par contre je le met dans le répertoire de ma boutique , ou dans le dossier WWW ???

Share this post


Link to post
Share on other sites

Personnellement, j'ai créé un répertoire spécial juste pour ca, sous le répertoire module. Avec un index.php dedans pour que les autres ne puissent pas lister le contenu (reprendre celui d'un module).

Share this post


Link to post
Share on other sites

Pour index.php, tu recopies n'importe lequel du répertoire d'un autre module, par exemple celui d'un autre module, ca évite qu'on puisse lister le contenu de ton répertoire.

 

Oui, mes taches s'exécutent, mais tu n'as pas vraiment de remontées directes. Pour ca, il faut ajouter des logs, ou un envoi de mail. Par contre, quand ca plante, j'ai un mail ovh qui m'est remonté.

Share this post


Link to post
Share on other sites

donc dans mon backoffice elle resterons toujours en "jamais" pourquoi moi j'ai une date et heure sur l'une de mes tache cron ?

 

sa que j'arrive pas a comprendre !!!

 

qu'est qu'il est plus sur ? le script ? manager OVH et backoffice de prestashop ?

 

je suis un peux perdu avec tout sa

Share this post


Link to post
Share on other sites

Pour ma part, quand j'ai vu que ca ne marchait pas, j'ai abandonné directement les cron dans le backoffice de Prestashop (surtout que c'est clair que ca ne peut pas marcher si tu es sur un mutu OVH).

Pourquoi ca marque que ca a tourné ? Je ne sais pas. Peut-être que c'est le lancement de la tache elle-même lors de l'installation du module, ca peut être n'importe quoi.

L'important c'est : est-ce que ca tourne tous les jours ? Regarde la date de ton fichier sitemap en ftp, mets la tache (c'est la plus simple à faire) en cron dans OVH, regarde si ca tourne en regardant la date de modif de ton fichier sitemap, si c'est bon, pragmatisme, bascule toutes tes taches en cron OVH avec des fichiers .php et passe à autre chose ^^

Share this post


Link to post
Share on other sites

J'ai pris le module Crontab pour prestashop et tout fonctionne très bien.

 

Je suis aussi chez OVH en mutualisé.

Share this post


Link to post
Share on other sites

Merci pour votre réponses.

Avez vous fait des manipulations suite à l'installation ? Comment avez vous configurer votre module? 
Quelle méthode utiliser vous?

 

Merci d'avance pour votre réponses.

Share this post


Link to post
Share on other sites

Je l'ai simplement installé et mis les adresses CRON de ce que je voulais et demandé en méthode que cela se fasses en Méthode : Fréquentation du serveur.

Share this post


Link to post
Share on other sites

Bon, si vous voulez la solution qui marche pour les mutu ovh:

 

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 votre shop

  • Dans celui-ci vous mettez:
#!/usr/local/bin/php
<?php
error_reporting(E_ALL);

$break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>';
$urls = array(
'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe'
);
echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; 
foreach($urls as $key => $url) {

	$output .= $break_line.'Job '.($key + 1).' : ';
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	if($data = curl_exec($ch)) {
		echo $break_line;
		$output .= 'Ok';
	}
	else
		$output .= 'Failed';
	curl_close($ch);
}
die($output);
?>

en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module.

  • Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heures

Cela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH

 

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/cron.php 

Si vous êtes dans un sous-répertoire

  • www/votre_répertoire/cron.php

Si vous êtes dans un répertoire adjacent à www

  • votre_repertoire/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 cochez au moins une heure par jour

Et Validez

 

Votre script sera exécuté ainsi régulièrement

Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php

Edited by Eolia (see edit history)
  • Like 3

Share this post


Link to post
Share on other sites

Bon, si vous voulez la solution qui marche pour les mutu ovh:

 

Allez dans le module cronTab 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 votre shop

  • Dans celui-ci vous mettez:
#!/usr/local/bin/php
<?php
error_reporting(E_ALL);

$break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>';
$urls = array(
'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe'
);
echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; 
foreach($urls as $key => $url) {

	$output .= $break_line.'Job '.($key + 1).' : ';
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	if($data = curl_exec($ch)) {
		echo $break_line;
		$output .= 'Ok';
	}
	else
		$output .= 'Failed';
	curl_close($ch);
}
die($output);
?>

en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module.

  • Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heures

Cela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH

 

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/cron.php 

Si vous êtes dans un sous-répertoire

  • www/votre_répertoire/cron.php

Si vous êtes dans un répertoire adjacent à www

  • votre_repertoire/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 cochez au moins une heure par jour

Et Validez

 

Votre script sera exécuté ainsi régulièrement

Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php

 

Bonjour !

 

Un grand merci Elolia, encore une fois tu me sauve ! C'est exactement ce que je recherchais depuis 3 mois ! Ca fonctionne parfaitement.

 

(Petit rectificatif, le module d'origine prestashop où mettre en place ta solution est CronJob et non Crontab) ;)

 

Bon WE à toi.

Edited by Wibleo (see edit history)

Share this post


Link to post
Share on other sites

Salut

 

 

Je bute aussi sur un probleme avec les tache Cron

 

Je suis sur un dedie, donc j'utilise directement le Cron du systeme.

Je pense que je dois avoir un probleme de syntaxe

 

dans /etc/crontab, j'ai ca par exemple pour la reconstruction de l'index de recherche:

30 4 * * * root wget -q http://www.monsite.com/monadmin/searchcron.php?full=1&token=ToKen > /dev/null 2> /var/log/cron.log

 

Mis a part de me creer un fichier dans /root dont le nom est searchcron.php?full={numero dordre} a chaque execution, je ne vois pas trop le resultat.

D'ailleur, je ne comprends pas pourquoi cela cree un fichier.

De plus je n'ai pas non plus de trace dans cron.log

 

Si l'un de vous a une idee je suis preneur :)

Car pour l'instant je le fait a la main .... quand j'y pense :( (c'est pas top ca)

 

 

Cordialement

Hugues

Share this post


Link to post
Share on other sites

Bon, si vous voulez la solution qui marche pour les mutu ovh:

 

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 votre shop

  • Dans celui-ci vous mettez:
#!/usr/local/bin/php
<?php
error_reporting(E_ALL);

$break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>';
$urls = array(
'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe'
);
echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; 
foreach($urls as $key => $url) {

	$output .= $break_line.'Job '.($key + 1).' : ';
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	if($data = curl_exec($ch)) {
		echo $break_line;
		$output .= 'Ok';
	}
	else
		$output .= 'Failed';
	curl_close($ch);
}
die($output);
?>

en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module.

  • Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heures

Cela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH

 

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/cron.php 

Si vous êtes dans un sous-répertoire

  • www/votre_répertoire/cron.php

Si vous êtes dans un répertoire adjacent à www

  • votre_repertoire/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 cochez au moins une heure par jour

Et Validez

 

Votre script sera exécuté ainsi régulièrement

Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php

 

 

Ça a l'air de bien fonctionner chez moi. Merci :)

Share this post


Link to post
Share on other sites

bonjour tout le monde , je vais testé un peux le cron.php pour voir,

 

ceci dit ne fonctionne pas pour une Multi-boutique ? je me trompe ?  les URLs son différentes ce qui fais que les tâches cron peuvent pas être mis en plus

Share this post


Link to post
Share on other sites

Je remonte un peu le sujet désolé mais ayant des soucis d’exécution de tache cron, je me permet donc de poser cette question : Est-ce que l'astuce ce Eolia marche aussi pour les serveurs 1&1 ? Je ne vois pas de commentaire précis dans le fichier cron.php qui ferait qu'il soit spécifique à OVH mais je préfère poser la question avant de me lancer dans d'autre test.

Merci de votre réponse.

Share this post


Link to post
Share on other sites

Ca marche pour tous les serveurs.

 

Le post a été écrit pour les utilisateurs OVH car ce service n'est pas compatible sur leur hébergement avec les tâches cron de Prestashop

Share this post


Link to post
Share on other sites

Bon, si vous voulez la solution qui marche pour les mutu ovh:

 

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 votre shop

  • Dans celui-ci vous mettez:
#!/usr/local/bin/php
<?php
error_reporting(E_ALL);

$break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>';
$urls = array(
'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe'
);
echo $break_line.'Cron Report of '.date('Y-m-d H:i:s').$break_line.$break_line; 
foreach($urls as $key => $url) {

	$output .= $break_line.'Job '.($key + 1).' : ';
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	if($data = curl_exec($ch)) {
		echo $break_line;
		$output .= 'Ok';
	}
	else
		$output .= 'Failed';
	curl_close($ch);
}
die($output);
?>

en remplaçant évidemment 'http://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe' par l'url indiquée dans le module.

  • Mettez toutes vos tâches en exécution: tous les jours, tous les mois, toutes les semaines et toutes les heures

Cela vous permettra de le faire fonctionner quelque soit l'horaire choisi dans le cron OVH

 

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/cron.php 

Si vous êtes dans un sous-répertoire

  • www/votre_répertoire/cron.php

Si vous êtes dans un répertoire adjacent à www

  • votre_repertoire/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 cochez au moins une heure par jour

Et Validez

 

Votre script sera exécuté ainsi régulièrement

Vous pouvez tester en mode http en allant à l'url: http://votre_boutique.com/cron.php

 

 

Merci beaucoup je cherchais la solution depuis longtempppppssssssssssssss....très longtemps.

 

Par contre mes tache qui une heure precise pour s’exécute, ne sont exécute .

 

 

Une petite aide sup serai bienvenue svp

MERCI

Edited by pinkxana (see edit history)

Share this post


Link to post
Share on other sites

Un grand merci Eolia !

 

Question alakon : si j'ai plusieurs tâches cron à éxécuter, je créée un fichier cronX.php pour chaque tâche ou je peux ajouter les URLs dans le même fichier cron.php d'origine ?

Car dans ce cas, j'ai un message d'erreur à l'éxécution du cron.php.

Share this post


Link to post
Share on other sites

Un grand merci Eolia !

 

Question alakon : si j'ai plusieurs tâches cron à éxécuter, je créée un fichier cronX.php pour chaque tâche ou je peux ajouter les URLs dans le même fichier cron.php d'origine ?

Car dans ce cas, j'ai un message d'erreur à l'éxécution du cron.php.

Oui question à la con^^

Avec ce script, appelez l'url du module cron de Prestashop, rien d'autre

Dans le module cron de Prestashop, mettez autant d'urls que vous voulez

Share this post


Link to post
Share on other sites

Le module cronjobs est activé ?

Si oui, voyez-vous la date de la dernière exécution des tâches cron ?

Share this post


Link to post
Share on other sites

Merci pour votre réponse.
 

La date n'est pas bonne car je lance la commande cron directement avec le lien fournis sur le module pour exécuter manuellement mes tâches cron tous les jours soit aujourd'hui.

Mais les tâches ne s’exécute plus automatiquement depuis 15 jours a peu près.

Avec le lien direct ça fonctionne mais pas avec le fichier cron.php qui me répond : Job 1 failed

Le module est bien activée. 

Merci beaucoup en tout cas
 

Edited by MICKAEL BLANCHARD (see edit history)

Share this post


Link to post
Share on other sites

Ok, donc si vous n'avez rien modifié de votre côté il faut ouvrir un ticket auprès d'OVH

Share this post


Link to post
Share on other sites

Bonjour,

Suite à l'ouverture du Ticket OVH le problème a été résolu 
 

#!/usr/local/bin/php 
Cron Report of 2016-12-03 13:11:35

cronjobs_prestashop

Job 1 : Ok

Le fichier /cron.php est bien exécuté mais les tâche cron ne sont pas lancées ... Si je prend le lien manuellement et l'execute la tâche s'execute avec succès.

Avez vous une idée du problème?

Cordialement

Share this post


Link to post
Share on other sites

Bonjour,

Je vous apporte un élément supplémentaire mes tâches cron son bien exécutées mais rien la synchronisation ne ce passe pas et manuellement tout fonctionne..

mini_210768Capturedecran20161207a120659.
 

Avez vous une idée?

 

Merci d'avance.

Edited by MICKAEL BLANCHARD (see edit history)

Share this post


Link to post
Share on other sites
Le 24/09/2015 à 9:09 AM, Eolia a dit :

Bon, si vous voulez la solution qui marche pour les mutu ovh:

Bonjour,

J'ai testé sur mon navigateur et j'obtiens :

Notice: Undefined variable: output in /home/monsite/www/cron.php on line 12
cronjobs_prestashop

 

Une piste où chercher ?

Share this post


Link to post
Share on other sites

Un grand merci Eolia!

Je cherchais comment faire depuis des semaines et ovh n'avait pas su me répondre!

C'est efficace, et enfin, tout se synchronise tout seul... 

Bonne journée

Marilyne

Share this post


Link to post
Share on other sites

Bonjour Eolia,

Je me permets de relancer le topic car je voudrais savoir si cette méthode est toujours fonctionnelle ? (PS 1.7)

Je profite pour signaler que le lien vers la deuxième version du script ne marche plus.. 

Merci en avance !

Share this post


Link to post
Share on other sites

Aucune idée pour les 1.7, ca dépend surtout du module cronjobs donc à priori je dirais oui.

Le forum du 2nd lien a été fermé car nous avons eu l'interdiction d'utiliser le nom Prestashop dans le domaine.

Share this post


Link to post
Share on other sites

Bonjour Eolia,

 

Tout d'abord merci pour ton aide !!

Je viens d'utiliser ta méthode pour ma mise à jour des stocks de mon site. Comment puis-je savoir si tout est correctement configuré ? Car comme tu l'as expliqué, lorsque je vais sur http://monsite/cron.php, tout est ok. Dans ovh, j'ai programmé à 9, 10 et 11h l'exécution de la tache mais pour le moment je ne vois pas mes stocks changer... je veux donc être sure que tout est bien correctement configuré !!

 

Merci :)

 

Bérengère

Share this post


Link to post
Share on other sites
Posted (edited)

Voici la 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;
    
    /*
    ** Remplacez l'url http ou https://.... avec celle présente
    ** sur l'écran de configuration du module cronjobs
    ** après avoir activé le mode avancé
    */
    $cronjob_url = 'https://www.votre_site/adminXXXX/index.php?controller=AdminCronJobs&token=a0c6f12c14a4a96b3937e7fda7182ebe';
    
    /**************************************
    ** 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_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.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/votre_repertoire_admin/cron.php

Si vous êtes dans un sous-répertoire, www/votre_répertoire_prestashop/votre_repertoire_admin/cron.php

Si vous êtes dans un répertoire adjacent à www, votre_répertoire_prestashop/votre_repertoire_admin/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

Si votre site est en https, modifiez l'url en conséquence.

 

Passez le paramètre $verbose à true comme expliqué en commentaire et dans votre OVH cochez "Log par email" (si vous en voulez)

Dans votre module cron vous avez également la date et l'heure de la dernière exécution des scripts.

Edited by Eolia (see edit history)

Share this post


Link to post
Share on other sites

Alors je viens de regarder j'ai bien une dernière date d'exécution à 10h08 dans mon module mais mes stocks ne sont pas actualisés, j'imagine que j'ai peut être un souci dans l'url de ma tache cron... 

dans le module me donnant l'url (capture ci-joint)  j'ai "2 options" si je puis dire, je ne vois pas bien quelle est la différence entre les deux, je n'ai pas de configuration spécifique ? ou bien la configuration spécifique correspond au mode avancé ? 

 

Par contre aucun mail recu, pourtant j'ai bien inscrit mon adresse mail lors de la programmation de ma tache sur ovh, bizarre !

Share this post


Link to post
Share on other sites

Pour certains utilisateurs, ils n'ont pas cron sur le serveur ou le serveur limite l'utilisation de cron. Dans ces cas, EasyCron est une option. Pour ceux qui ne savent pas utiliser crontab, EasyCron est une excellente alternative :)

Share this post


Link to post
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

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More