Page 1 sur 1

[R] Suspendre l'execution d' une boucle entre 2 horaires ?

Posté : sam. 09 janv. 2010 21:21
par yendis1234
Bonjour a tous,

J'ai créé une boucle infinie (du type for $i= ... to next ) qui interroge toute les 15 minutes une base de donnée SQL.

Le serveur de cette base est inaccessible de 2 à 04 heures du matin, ce qui génère un bug dans l'exécution de la requête et interrompt la boucle que j'ai créé. :cry:

Je n'arriver pas à mettre la main sur l'instruction ou le scripte qui permettrai de suspendre l'exécution de la boucle entre telle et telle heure. J'ai essayé plusieurs instructions relatives aux horaires mais sans succès. :evil:

Qui aurais une idée, merci d'avance

Sidney

Re: Suspendre l'execution d' une boucle entre 2 ho

Posté : sam. 09 janv. 2010 21:36
par jbnh
Règles de présentation d'un message s'il vous plait.

Re: [..] Suspendre l'execution d' une boucle entre 2 horaires ?

Posté : sam. 09 janv. 2010 21:51
par timmalos
Rajoutez une boucle dans la boucle:

Code : Tout sélectionner

If @Hour >=2 AND @Hour <4 Then
While @Hour >=2 AND @Hour <4
Sleep(10000)
WEnd
EndIF

Re: [..] Suspendre l'execution d' une boucle entre 2 horaires ?

Posté : sam. 09 janv. 2010 22:23
par SagePourpre
@Timmalos

Tu te répètes...
Le If... then est inutile.

Code : Tout sélectionner

While @Hour >=2 AND @Hour <4
Sleep(10000)
WEnd
 

Re: [..] Suspendre l'execution d' une boucle entre 2 horaires ?

Posté : sam. 09 janv. 2010 22:56
par Tlem
Si le code doit faire d'autres actions entre temps, il serait plus judicieux de passer par un AdlibRegister().
Voici un code très simplifié :
► Afficher le texte
Voici un code bien plus explicite :
► Afficher le texte
On constatera par la même occasion, que malgré l'occupation importante du code dans la boucle While, que la fonction SqlRequest() est bien exécutée toutes les 15 secondes. 8)

Re: [R] Suspendre l'execution d' une boucle entre 2 horaires ?

Posté : dim. 10 janv. 2010 19:00
par yendis1234
Merci de vos solutions, la condition while... m'a permis de débloquer la situation.

Cordialement

Sidney