he el siguiente código que crea un marco HTTPConnectionPool usando TwistedMatrix Python, y un agente para las peticiones HTTP:número máximo de conexiones por host con twisted.web.client.Agent
self.pool = HTTPConnectionPool(reactor, persistent=True)
self.pool.retryAutomatically = False
self.pool.maxPersistentPerHost = 1
self.agent = Agent(reactor, pool=self.pool)
entonces crear solicitudes a conectarse a un servidor local:
d = self.agent.request(
"GET",
url,
Headers({"Host": ["localhost:8333"]}),
None)
el problema es: el servidor local a veces se comporta de forma incorrecta cuando se realizan varias peticiones simultáneas, por lo que me gustaría limitar el número de solicitudes simultáneas a 1.
Las solicitudes adicionales deben ponerse en cola hasta que finalice la solicitud pendiente.
Lo he intentado con self.pool.maxPersistentPerHost = 1
pero no funciona.
¿Twisted.web.client.Agent con HTTPConnectionPool admite la limitación de la cantidad máxima de conexiones por host, o tengo que implementar una cola de solicitud FIFO?