tontonyo
Messages postés5Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention15 janvier 2007
-
30 août 2006 à 15:34
tontonyo
Messages postés5Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention15 janvier 2007
-
31 août 2006 à 18:30
Bonjour,
Dans un script destiné à être lancé à distance sur plusieurs machines pour compter leur nombre de sessions, j'ai un resultat correct sauf quand je tombe sur un serveur "bagottant".
Si le serveur est en ligne tout va bien. S'il est hors ligne, un test de ping me dit de ne pas m'attarder sur le sujet mais si le serveur est dans un état instable (reponse au ping mais impossible de toucher le serveur à distance), la requete reste en suspens sans remonter de code d'erreur.
Quelqu'un connait-il une méthode afin de définir au script d'attendre la réponse du serveur distant pendant X secondes puis de continuer?
Je met ci dessous la partie de code concernée.
Ce code est dans une boucle déterminée par une liste de serveurs. La remontée est effective mais si un serveur est "freezé", la ligne NbSessions =... ne s'éxécute pas mais le code d'erreur reste à 0 donc le script attend gentiment.
Mettre ce bout de code dans une boucle de décompte de temps ne marche pas vu que le script ne passe plus la ligne suivante.
NbSessions = theServer.Sessions.Count
If Err.Number <> 0 Then
WScript.Echo Server & vbTab & "Probleme de comptage des sessions"
Err.Number = 0
End If
tontonyo
Messages postés5Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention15 janvier 2007 31 août 2006 à 16:42
Bonjour BOmbJacK,
Le cas du sleep permet de faire une pause dans le script mais ce que je recherche serait plutot une action du type:
Essaye de faire NbSessions = theServer.Sessions.Count pendant x secondes et si non reponse continue.
A l'heure actuelle, si je mets un sleep devant, dès que j'arrive sur un serveur "freezé", le script reste en attente de la reponse du serveur distant jusqu'à ce qu'il réponde.
Actions
Action NbSessions
si erreur => message
sinon
autres Actions
<Loop de la boucle>
l'idée serait de mettre une durée limite de tentative à Action NbSessions
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 20061 31 août 2006 à 18:21
et quand il s'agit d'un serveur ki freeze comme tu dis....
tu fais une tempo pour la reception ...et si le temps est écoulé c'est ke le serveur est freezé ...et tu passe à un autre
Vous n’avez pas trouvé la réponse que vous recherchez ?
en fait, les reponses des serveurs distants dans la boucle répondent dans un délai qui va de quelques dixièmes de secondes à quelques secondes (maxi observé 50 secondes).
Si le serveur est hors réseau, un test de ping me permet de ne pas requeter ma valeur. Par contre, si le serveur ne répond pas parce que serveur pingable mais ne répondant pas (serveur bagottant, on reste en attente. Donc dans la conf que tu donnes, il ne passe pas par la ligne du sleep.
Par contre, je ne sais pas si mon test d'erreur marche bien sur une erreur de type "rpc distant non actif" par exemple.