Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2758 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Cron qui s'arrête tout seul au bout de deux heures précise

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Cron qui s'arrête tout seul au bout de deux heures précise

n°1992929
pvpmage
Posté le 13-05-2010 à 22:29:09  profilanswer
 

Bonjour,
 
via le crontab de ovh je lance un script qui s'exécute tranquillement (il y a des sleep dedans ce qui fait qu'il met un certain temps à s'exécuter) et ce script s'arrête au bout de deux heures précisement (dans le log, je recois par ex pour le dernier : Heure de début : 2010-05-13 18:50:07 ; Heure de fin : 2010-05-13 20:50:15), alors que rien dans mon script ne lui dit de s'arrêter. D'ailleurs ce n'est même pas une sortie "normale" du programme car les echo de fin de script ne sont pas rapportés dans le log. De plus, j'ai mis set_time_limit(0); et ini_set('max_execution_time', 0); au début du script
 
Auriez vous une idée de pourquoi mon script s'arrête ??
 
Merci d'avance
 
(mon script est en fait :
set_time_limit(0);
ini_set('max_execution_time', 0);
 
 
while(condition){
fait_qqch_chose
sleep
}
)

mood
Publicité
Posté le 13-05-2010 à 22:29:09  profilanswer
 

n°1993079
GPT2
Posté le 14-05-2010 à 16:19:18  profilanswer
 

au lieu de faire des sleep, fais des crons, c'est à ça qu'ils servent.

n°1993181
gatsu35
Blablaté par Harko
Posté le 15-05-2010 à 10:11:55  profilanswer
 

pvpmage a écrit :

Bonjour,
 
via le crontab de ovh je lance un script qui s'exécute tranquillement (il y a des sleep dedans ce qui fait qu'il met un certain temps à s'exécuter) et ce script s'arrête au bout de deux heures précisement (dans le log, je recois par ex pour le dernier : Heure de début : 2010-05-13 18:50:07 ; Heure de fin : 2010-05-13 20:50:15), alors que rien dans mon script ne lui dit de s'arrêter. D'ailleurs ce n'est même pas une sortie "normale" du programme car les echo de fin de script ne sont pas rapportés dans le log. De plus, j'ai mis set_time_limit(0); et ini_set('max_execution_time', 0); au début du script
 
Auriez vous une idée de pourquoi mon script s'arrête ??
 
Merci d'avance
 
(mon script est en fait :
set_time_limit(0);
ini_set('max_execution_time', 0);
 
 
while(condition){
fait_qqch_chose
sleep
}
)


Ya une limite de temps d'execution des script.
Faut pas mettre des sleep à gogo. Comme dit GPT2, les crons c'est fait pour ça


---------------
Blablaté par Harko
n°1993190
pvpmage
Posté le 15-05-2010 à 11:21:10  profilanswer
 

si je mets des sleeps, c'est parce que je ne suis capable de lancer un cron que toutes les heures, et j'ai besoin de lancer mon script plusieurs fois par minutes ...

n°1993198
gatsu35
Blablaté par Harko
Posté le 15-05-2010 à 11:50:42  profilanswer
 

pourquoi tu ne peux lancer des crons que toutes les heures ? pourtant un cron ça peut se configurer facilement.
tu n'as pas la main là dessus ?


---------------
Blablaté par Harko
n°1993199
GPT2
Posté le 15-05-2010 à 11:51:47  profilanswer
 

pvpmage a écrit :

si je mets des sleeps, c'est parce que je ne suis capable de lancer un cron que toutes les heures, et j'ai besoin de lancer mon script plusieurs fois par minutes ...


hé ben tu utilises des sleeps pendant une heure, et tu relances le script toutes les heures avec cron. Un peu d'imagination que diable ;) (puisque apparemment tu n'as pas la main mise sur les crons)


Message édité par GPT2 le 15-05-2010 à 11:53:56
n°1993258
pvpmage
Posté le 15-05-2010 à 15:13:47  profilanswer
 

@gatsu -> parce que je suis chez ovh et que je n'ai accès qu'au "crontab" qui ne permet qu'un lancement tous les heures
 
@ GPT2 -> j'y ai pensé ^^ mais par contre le problème c'est que quand je dis à un cron de partir à 18h, il peut partir à 18h10 ou à 18h40 ... j'ai vraiment pas la main mise la dessus
 
J'ai signalé le problème à OVH et je n'ai pour le moment pas de réponse si ce n'est "on va faire d'autres vérifications"

n°1993263
gatsu35
Blablaté par Harko
Posté le 15-05-2010 à 15:43:13  profilanswer
 

tu te payes un serveur dédié [:spamafote]


---------------
Blablaté par Harko
n°1993285
Profil sup​primé
Posté le 15-05-2010 à 17:01:44  answer
 

En fait c'est pour faire quoi exactement ?

n°1993303
oxman
xiii
Posté le 15-05-2010 à 18:17:37  profilanswer
 

Tu utilises webcron ?  ^ ^

mood
Publicité
Posté le 15-05-2010 à 18:17:37  profilanswer
 

n°1993333
pvpmage
Posté le 15-05-2010 à 20:00:48  profilanswer
 

@ gatsu -> oui, mais bon à part ça un serveur dédié ne me servirait à rien.
 
@ oxman -> je n'utilises pas webcron, pas envi de payer pour un service si je peux le réaliser correctement tout seul.
 
et @ luc@s -> pour scanner l'armurerie de world of warcraft de manière "respectueuse", c'est à dire sans surcharge pour mon serveur, et sans appeler 100 page/seconde sur le site de l'armurerie qui répondrait alors probablement par un ban définitif par l'ip de mon serveur mutualisé :)

n°1993373
GPT2
Posté le 15-05-2010 à 21:36:33  profilanswer
 

t'as qu'à faire un cron qui s'appelle tout seul ;)
 
au lieu d'appeler le script, tu appelles la page du script depuis l'extérieur (http://...) ainsi t'auras pas la limite des 2h  :jap:

n°1993382
pvpmage
Posté le 15-05-2010 à 22:48:53  profilanswer
 

voila, j'avais pensé à cela.
 
Donc au lieu de faire un cron, je pensais faire la chose suivante : en gros j'ai un javascript qui appelle mon script toutes les x secondes quand une page de mon site est ouverte.
 
Ceci est formidable à la seule exception que le temps entre les lancements du script est adapté à la charge du serveur de l'armurerie (que l'on peut deviner en fonction de la durée de ban que l'on recoit si l'on scan trop fort, et selon la fréquence de scan que l'on effectue alors). Aussi, par exemple dans le cas où je ne recois aucun ban, je peux aller à 1scan / seconde. Dès que je suis banni 1 minute, hop je remonte la limite, puis je la rabaisse une heure plus tard pour voir si la charge du serveur a baissé ou non etc etc...
 
Tout ça pour dire que j'ai du mal à voir comment synchroniser les moments où les scripts se lancent si j'utilise un javascript sur chacune de mes pages pour appeler le script. (ou inclure le script en fin de page)
 
Y a-t-il un moyen gratuit (autre que webcron donc) pour faire ceci ?

n°1993385
GPT2
Posté le 15-05-2010 à 23:52:05  profilanswer
 

pvpmage a écrit :


Y a-t-il un moyen gratuit (autre que webcron donc) pour faire ceci ?


beh si, comme je t'ai dit dans mon dernier post, fais le toi-même, tu inclus dans ton script PHP un appel vers lui-même depuis l'extérieur.

 
Code :
  1. file_get_contents('http://cheztoi.tld/tonscript.php');
 

à partir de là tout est possible.


Message édité par GPT2 le 15-05-2010 à 23:52:28
n°1993410
pvpmage
Posté le 16-05-2010 à 10:09:03  profilanswer
 

en fait je veux bien que mon cron s'autorappelle, mais je ne vois pas l'interêt de faire en sorte que l'appelle soit "depuis l'extérieur", et je ne vois pas pourquoi cela supprimerait le blocage au bout de 2 heures.

n°1993413
GPT2
Posté le 16-05-2010 à 10:44:59  profilanswer
 

pvpmage a écrit :

en fait je veux bien que mon cron s'autorappelle, mais je ne vois pas l'interêt de faire en sorte que l'appelle soit "depuis l'extérieur", et je ne vois pas pourquoi cela supprimerait le blocage au bout de 2 heures.


l'intérêt que ce soit depuis l'extérieur est de lever le blocage des deux heures.
 
la raison pourquoi ça supprime cette limite est simple: Les 2 heures ce sont le temps maximal d'exécution d'un script. Si tu arrêtes un script et le relance, les 2h sont réinitialisées. Le seul moyen de réinitialiser les deux heures est donc d'arrêter le script et de le relancer, suis-je clair ? Or il n'y a pas d'autre moyen d'arrêter un script que... de l'arrêter, et donc le seul moyen de le relancer serait de l'extérieur, sinon ça serait sa simple continuation...
 
capito?

n°1993414
art_dupond
je suis neuneu... oui oui !!
Posté le 16-05-2010 à 10:46:28  profilanswer
 

Sinon tu lances ton script toutes les heures et dans ton script, tu vérifies au début de chaque boucle que 1h n'est pas passée. Sinon exit.
 


---------------
oui oui
n°1993422
pvpmage
Posté le 16-05-2010 à 11:55:22  profilanswer
 

parfait, merci bcp :)
 
Maintenant faut juste que je vérifie mes scripts pour vérifier qu'il n'y a aucune manière de rentrer en boucle infinie, d'autant qu'avec les sleep il me semble que c'est méga galère à tuer si on rentre dedans


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Cron qui s'arrête tout seul au bout de deux heures précise

 

Sujets relatifs
Est ce que bout de code est exploitable ?[RESOLU] suis perdu sur mon bout de code
[bash] wait pour n'attendre qu'un seul filsRegrouper plusieurs registres en un seul
[Resolu] JS s'arrete de s'executer...[Résolu] htaccess change tout seul...
Je n'arrive pas à le faire avec Excel seul.plannification des taches apache [pour test sur windows != CRON]]
[RESOLU] Ascenseur qui descend et qui s'arrete besoin d'aideTâche planifiée ne s'arrête pas
Plus de sujets relatifs à : Cron qui s'arrête tout seul au bout de deux heures précise


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR