Con el valor predeterminado pool_block=False, pool_maxsize limita las conexiones retenidas en un grupo, no todas las conexiones simultáneas. Requests puede crear conexiones adicionales y descartarlas después.

Para un grupo limitado que usan las solicitudes HTTPS de una sesión existente:

from requests.adapters import HTTPAdapter

adapter = HTTPAdapter(
    pool_connections=10,
    pool_maxsize=4,
    pool_block=True,
)
session.mount("https://", adapter)

El montaje selecciona las URL de destino HTTPS. Las solicitudes HTTP usan el adaptador montado en http://.

EntradaQué controla
pool_connectionsCuántos grupos almacena en caché el gestor
pool_maxsizeConexiones dentro de un grupo
pool_block=TrueEsperar una conexión del grupo en lugar de crear una adicional

Requests también almacena en caché los gestores de proxy por URL de proxy. Estos valores no forman un único límite total para una lista rotativa de proxies y destinos. Use un presupuesto de concurrencia a nivel de aplicación si el requisito es que todo el trabajo pase por un único intermediario.

El bloqueo hace imprescindible liberar las respuestas: consuma los cuerpos o cierre las respuestas en streaming para que el trabajo en espera pueda avanzar. El adaptador de Requests no ofrece un tiempo de espera separado para esta espera del grupo en la disposición mostrada.

Artículos relacionados