toma Posté 6 Mars 2009 Posté 6 Mars 2009 Bonjour, J'ai des cron paramétrés pour s'exécuter tous les jours à heure fixe. Il s'agît à chaque fois d'un wget sur un script PHP : wget http://www.exemple.tld/includes/cron/rapports.php Le hic c'est que parfois le script met 3 ou 4 heures à s'exécuter car ça mouline sévère (je ne peux pas changer cet aspect des choses). Donc le cron job 'retry' tous les quarts d'heure pensant que l'appel de la page n'a pas marché. Je voudrais donc spécifier à l'appel des crons de soit ne pas attendre de réponse, soit je ne sais pas... Parce que du coup là j'ai des script qui sont exécutés 8 voire 9 fois (pour celui qui met 4 h à retourner qque chose) et donc on a des emails multiples qui sont envoyés... arghhh ! J'ai lu rapidement le man de wget, est-ce que ça pourrait résoudre le problème ? wget --tries=1 --wait=120m http://www.exemple.tld/cron/script.php?action=go Sinon, quelle serait la solution la plus secure et la plus couramment admise ? Merci d'avance parce que là je suis un peu dans le flou.
cyberlaura Posté 6 Mars 2009 Posté 6 Mars 2009 (modifié) Bonjour, et bien je ne comprend pas : j'ai moi même des cron de ce type qui mettent plusieurs heures sans faire de "retry". Par contre, j'appelle un fichier de commande qui contient le ou les wget, je ne fais pas le wget directement, peut-être est-ce la différence avec toi ? Attention : le site xxx.com existe Modifié 6 Mars 2009 par cyberlaura
Dudu Posté 6 Mars 2009 Posté 6 Mars 2009 Attention : le site xxx.com existe J'ai modifié le post de toma en remplaçant par "exemple.tld" Dans l'absolu, merci d'éviter de mettre en guise d'exemple des URLs du genre "monsite.com" ou "xxx.com" car ces domaines répondent et en profitent pour se faire du trafic.
Kioob Posté 7 Mars 2009 Posté 7 Mars 2009 Sinon, quelle serait la solution la plus secure et la plus couramment admise ? Bonjour. Ne pas passer par wget, et encore moins par Apache pour exécuter un cron. Un "vrai" script, lancé en ligne de commande, sans timeout, ça évite beaucoup de problèmes de ce genre. Mais... encore faut il que l'hébergement le permette...
jcaron Posté 7 Mars 2009 Posté 7 Mars 2009 C'est clair que php5 monscript.php c'est quand même probablement plus efficace que wget... Attention cependant aux différents de réglages (php.ini différent, environnement, utilisateur, droits...). Sinon pour revenir à la question initiale, cron ne refait pas d'essais tout seul. Donc ça veut probablement dire que tu as configuré ton cron pour faire plusieurs essais jusqu'à ce que ça marche, auquel cas il faut soit que tu arrêtes de le faire, soit que tu changes ta logique (ne pas refaire une tentative si le cron a réussi OU si la même requête est déjà en cours). Jacques.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant