Timeout en urllib

Garikoitz Araolaza gari en eibar.org
Vie Mayo 24 11:31:52 CEST 2002


Hola:

Viendo el "buen rollo" que hay en esta lista, me atrevo a lanzar un 
problemilla que estoy teniendo, para ver si alguien me puede echar una mano.

Estoy utilizando la librería urllib en una aplicación para Zope que recoge 
una página en internet y después la proceso en local para presentarla en 
otro formato. (lo que se dice un parser)

Para ello utilizo:

f = urllib.urlopen(url)

El problema surge de vez en cuando, cuando la página a la que accede no 
está disponible (caída del servidor, congestión en la red...) o tarda mucho 
en descargar.

Ya os podéis imaginar. Zope llega al límite de MAX_THREADS y se bloquea. No 
hay forma de desbloquearlo si no se rearranca la máquina por línea de comandos

He estado probando con un módulo que he encontrado por ahí (botlib) para 
comprobar la conexión antes de lanzar el urlopen, pero Zope se vuelve muy 
inestable y se cae (todavía no sé por qué) cada 4 minutos más o menos.

Lo que me sorprende es que ninguna función de urllib tenga un timeout.

¿Hay alguna forma de solucionar esto? es decir, añadir un Timeout para que 
urlopen no se quede bloqueado para siempre jamás?

Gracias de antemano.

Gari

_________________________________________________________
Aurki Euskara hutsezko bilatzailea
http://www.aurki.com
Zure laguntza behar dugu. Egin zaitez editore!





Más información sobre la lista de distribución Python-es