requests libreria python urllib2 httplib

python - libreria - ''Fallo temporal en la resolución de nombres'' permanente después de varias horas de funcionamiento



urllib2 post (2)

Estaba experimentando el mismo problema, en mi caso no era agotamiento de recursos, el problema para mí ocurrió cuando mi servidor dhcp cambió la dirección del servidor de nombres, libc no quería jugar a la pelota y volver a cargar el nuevo archivo resolv.conf, manteniendo la caché y forzando Que reinicie el script cada vez que cambie.

Todos mis intentos de conexiones de socket Python fallan después de esto, así que encontré este código que resolvió la situación:

import ctypes try: libc = ctypes.CDLL(''libc.so.6'') res_init = getattr(libc, ''__res_init'') res_init(None) except: pass

Úsalo antes de llamar al socket.connect, espero que esto ayude

Después de ejecutarse durante varias horas en Linux, mi programa Python 2.6 que usa urllib2, httplib y subprocesos, comienza a generar este error para cada solicitud:

<class ''urllib2.URLError''> URLError(gaierror(-3, ''Temporary failure in name resolution''),)

Si reinicio el programa vuelve a funcionar. Mi conjetura es algún tipo de agotamiento de recursos pero no sé cómo verificarlo. ¿Cómo puedo diagnosticar y solucionar el problema?


Esto se debió a una falla de la biblioteca para cerrar las conexiones, lo que llevó a un gran número de conexiones atascadas en un estado CLOSE_WAIT. Eventualmente, esto causa el error ''Error temporal en la resolución de nombres'' debido al agotamiento de los recursos.