Bonjour,
J'ai un programme qui réexamine périodiquement une page web en bouclant dans un while, avec un try...except de précaution car il y a souvent des déconnexions sur ma ligne.
Comme la connexion se rétablit rapidement, je gèle une minute le programme avant de le laisser retourner dans la saisie de la page web.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 while 1: try: t0 = clock() sock = urllib.urlopen(url) ( bla bla bla...) except IOError: print 'Entree dans except=',clock()-t0 sleep(60)
Je suis étonné par le temps que met le programme pour entrer dans la partie EXCEPT quand urllib.urlopen(url) échoue à ouvrir la page web: 22 secondes.
Je me dis qu'il doit y avoir un timeout réglé sur 22 secondes pour le socket que urllib.urlopen doit appeler à un moment ou un autre et qu'il suffirait d'arriver à changer ce timeout pour que le temps ci-dessus soit plus court.
Je me dis que je pourrais essayer de définir urllib comme une fonction dans mon programme, au lieu de faire import urllib, et que dans cette fonction je pourrais essayer de trouver où écrire quelque chose du genre s.settimeout(0.5)
Mais je me dis aussi que je me dis trop de choses avec mon niveau sommaire en Python.
Il est donc préférable que je poste pour demander vos avis et conseils sur le moyen de raccourcir le temps de passage de try à except dans mon programme.
Merci
Partager