Pausa antes de volver a intentar la conexión en Python

Estoy tratando de conectarme a un servidor. A veces no puedo acceder al servidor y me gustaría hacer una pausa por unos segundos antes de volver a intentarlo. ¿Cómo implementaría la función de pausa en Python? Esto es lo que tengo hasta ahora. Gracias.

while True: try: response = urllib.request.urlopen(http) except URLError as e: continue break 

Estoy usando Python 3.2

Esto bloqueará el hilo por 2 segundos antes de continuar:

 import time time.sleep(2) 

En caso de que desee ejecutar muchos de estos en paralelo, sería mucho más escalable usar un marco de trabajo en red asíncrono como Twisted , donde “dormir” no significa que el locking de un subproceso valioso y costoso del sistema operativo no realice otro trabajo útil. Este es un bosquejo aproximado de cómo puede intentar tantas solicitudes en paralelo como desee (establecido en 100), con tiempo de espera (5 segundos), retraso (2 segundos) y un número configurable de rebashs (aquí, 10).

 from twisted.internet import defer, reactor from twisted.web import client # A semaphore lets you run up to `token` deferred operations in parallel semaphore = defer.DeferredSemaphore(tokens=100) def job(url, tries=1, d=None): if not d: d = defer.succeed(None) d.addCallback(lambda ignored: client.getPage(url, timeout=5)) d.addCallback(doSomethingWithData) def retry(failure): if tries > 10: return failure # give up else: # try again in 2 seconds d = defer.succeed(None) reactor.callLater(2, job, url, tries=tries+1, d=d) return d d.addErrback(retry) return d for url in manyURLs: semaphore.run(job, url)