Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?

Mise en place d'une tâche cron Magento via Webmin
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 12
SUJET:

Mise en place d'une tâche cron Magento via Webmin

#9660
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Mise en place d'une tâche cron Magento via Webmin

Il y a 8 Années, 10 Mois
Karma: 112  
Il peut être nécessaire de mettre en place une tâche cron pour exécuter à intervalle régulier le fichier cron.php, qui se trouve à la racine du répertoire d'installation de Magento.

L'exécution de ce fichier va entraîner une série d'actions telles que : la génération d'un sitemap, la mise à jour de prix des produits du catalogue, etc.

Cet article explique comment mettre en place cette tâche automatisée, et concerne plus particulièrement les utilisateurs disposant de Webmin pour administrer leur serveur.

Rendez vous dans l'interface Webmin et trouvez l'onglet "Système". (si vous ne le voyez pas vérifiez les permissions associées à votre compte Webmin).

Image réservée aux membres.
Veuillez vous connecter ou vous enregistrer.


Dans cette partie Système trouvez l'accès à la configuration des tâches CRON :

Image réservée aux membres.
Veuillez vous connecter ou vous enregistrer.


Dans l'interface des tâches cron, créez une nouvelle tâche programmée :

Image réservée aux membres.
Veuillez vous connecter ou vous enregistrer.


Vous arrivez sur la page de configuration :

Image réservée aux membres.
Veuillez vous connecter ou vous enregistrer.


Entrez les données suivantes :
- S'exécute en tant que : vous indiquez ici un nom d'utilisateur qui disposant des permissions suffisantes (root par exemple)
- Actif : oui (c'est mieux ! :D)
- Description : "Ma super tâche Cron Magento"
- Quand exécuter : au choix
- Plage de date pour exécuter : au choix

- Commande :

C'est la partie importante. Pour connaître la commande à renseigner vous devez :
1) connaître le chemin de php5 sur votre serveur
2) connaître le chemin absolu de cron.php sur votre serveur

Pour le 1), ce sera par exemple /usr/local/bin/php5 (OVH - Gentoo release 2), vous pouvez déterminer l'emplacement manuellement ou en ligne de commande tapez "whereis php" (attention : vous devez vous assurer que le chemin retourné est bien celui de php5, et pas celui de php4).

Pour le 2), ce sera par exemple /home/XXX/www/cron.php
XXX désigne l'espace serveur sur lequel est placé le répertoire web qui contient Magento
L'exemple donné suppose que Magento soit installé à la racine. En effet, si vous avez installé Magento dans un dossier abc, le chemin absolu sera alors /home/XXX/www/abc/cron.php

Vous pouvez maintenant "Créer" la tâche, vous serez redirigé vers la liste des tâches existantes. Cliquez sur la tâche pour le cron.php de Magento, et choisissez "Exécuter maintenant" pour un test, vous devriez obtenir un message de ce type :

Sortie de la commande /usr/local/bin/php5 -f /home/XXX/www/cron.php ..

Aucune sortie générée




  • Contributeur : Gabriel

  • La reproduction de cet article n'est pas permise, hors autorisation expresse de Fragento.
 
Dernière édition: 25/03/09 à  06:23 Par Gabriiiel.
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#9676
fredisap
Platinum Boarder
Messages: 349
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin Lieu: Lecques (30) Date anniversaire: 21/03

Re:Mise en place d'une tâche cron Magento via Webmin

Il y a 8 Années, 10 Mois
Karma: 0  
Super clair le tuto merci ;)
est ce que tu peux boucler la boucle, en expliquant comment régler dans la partie admin de magento le cron ?
En Dans magento, je crois qu'il y a également des temps en minute à renseigner il y a un lien avec les temps sur le serveur ?
 
L'administrateur a désactivé l'accès public en écriture.
#10537
Fibo
Platinum Boarder
Messages: 369
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Conseil & coaching informatiques Lieu: Marseille

Re:Mise en place d'une tâche cron Magento via Webmin

Il y a 8 Années, 10 Mois
Karma: 3  
B-)) et pourrais-tu aussi donner un ou deux exemples de tâches cron que l'on peut faire exécuter, par exemple la sitemap?
 
L'administrateur a désactivé l'accès public en écriture.
#10917
Fibo
Platinum Boarder
Messages: 369
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Conseil & coaching informatiques Lieu: Marseille

Re:Mise en place d'une tâche cron Magento via Webmin

Il y a 8 Années, 10 Mois
Karma: 3  
Fibo écrit:
B-)) et pourrais-tu aussi donner un ou deux exemples de tâches cron que l'on peut faire exécuter, par exemple la sitemap?Grâce à une remlarque de Gabriiel, j'ai réalisé qu'en fait mes sitemaps sont déjà générées automatiquement en cron...

Mais je serais intéressé par le cas suivant:
- j'ai un module php ou phtml, par exemple situé dans app/code/local/xxx/pgm.php ou dans app/design/frontend/xxx1/default/template/xxx2/pgm.phtml
- comment dois-je le modifier pour qu'il soit exécuté en cron? quels sont les autres fichiers et actions nécessaires pour que ce job s'exécute?
- comment enregistrer dans une table de log existante, ou à créer, les résultats du job (par exemple "3 articles créés, prix moyen 52.42 €"?
 
L'administrateur a désactivé l'accès public en écriture.
#10946
guillaume7684
Platinum Boarder
Messages: 605
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin SYGMA CAM Lieu: Avignon Date anniversaire: 21/11

Re:Mise en place d'une tâche cron Magento via Webmin

Il y a 8 Années, 10 Mois
Karma: 0  
Bonjour Gabriiiel,

J'ai créé une tâche de cron exactement comme tu l'expliques (merci d'ailleurs).

Par contre voilà la réponse quand je l'execute manuellement:
Sortie de la commande /usr/local/bin/php5 /home/xxx/www/cron.php ..

X-Powered-By: PHP/5.2.5-pl1-gentoo
Content-type: text/html

<br />
<b>Notice</b>: Undefined index: SCRIPT_NAME in <b>/home/xxx/www/cron.php</b> on line <b>36</b><br />
<br />
<b>Notice</b>: Undefined index: SCRIPT_FILENAME in <b>/home/xxx/www/cron.php</b> on line <b>37</b><br />


Voilà les lignes 36 et 37 de mon fichier cron.php:
Code :

$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);





J'ai fait une recherche sur le forum magento, et j'ai trouvé ce post:
http://www.magentocommerce.com/boards/viewthread/30890/

J'ai donc modifié mon fichier cron.php, et la j'ai ce message quand j'execute ma tache cron manuellement:
Sortie de la commande /usr/local/bin/php5 /home/xxx/www/cron.php ..

X-Powered-By: PHP/5.2.5-pl1-gentoo
Content-type: text/html




Code :

$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);


devient:
Code :

#$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
#$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);

#This should get rid of the error.
$_SERVER['SCRIPT_NAME'] = basename(__FILE__) . DIRECTORY_SEPARATOR . 'index.php';
$_SERVER['SCRIPT_FILENAME'] = basename(__FILE__) . DIRECTORY_SEPARATOR . 'index.php';



Que pensez-vous de cette modif, l'avez-vous faites dans votre fichier cron.php?
Merci.
 
Dernière édition: 26/03/09 à  03:08 Par guillaume7684.
L'administrateur a désactivé l'accès public en écriture.
#10964
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Re:Mise en place d'une tâche cron Magento via Webmin

Il y a 8 Années, 10 Mois
Karma: 112  
Bonjour,

Normalement ce n'est pas nécessaire, quelle est la configuration de ton hébergement ? On dirait un souci de / et de \
 
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#10968
guillaume7684
Platinum Boarder
Messages: 605
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin SYGMA CAM Lieu: Avignon Date anniversaire: 21/11

Re:Mise en place d'une tâche cron Magento via Webmin

Il y a 8 Années, 10 Mois
Karma: 0  
Bonjour,

Je suis chez OVH: gentoo-ovh (RPSI)

Quand tu me parles de / et \ ca me rappelle que dans ma tache cron:
- quand je mets un nom à ma tâche et que je sauvegarde, il rajoute un \ à la fin de ma commande, soit: /usr/local/bin/php5 /home/xxx/www/cron.php \
- si je ne mets pas de nom, elle reste: /usr/local/bin/php5 /home/xxx/www/cron.php
 
L'administrateur a désactivé l'accès public en écriture.
#18481
gaminiature
Expert Boarder
Messages: 84
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin Lieu: Ile de France Date anniversaire: 10/02

Re:Mise en place d'une tâche cron Magento via Webmin

Il y a 8 Années, 5 Mois
Karma: 1  
Pour les noobs comme moi, parceque ca m'a pas parut évident, la commande cron est la suivante : Chemin_de_php5 -f chemin_de_cron.php
C'est a dire, chez moi sur une gentoo2 :

/usr/local/bin/php5 -f /home/gaminiature/www/boutique/cron.php
 
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 12
Modérateur: Gabriiiel, ILOA, zuiko