Amb el valor predeterminat pool_block=False, pool_maxsize limita les connexions retingudes en un pool, no cada connexió simultània. Requests pot crear-ne d'addicionals i descartar-les després.

Per a un pool limitat utilitzat per les peticions HTTPS d'una sessió existent:

from requests.adapters import HTTPAdapter

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

El muntatge selecciona les URL de destinació HTTPS. Les peticions HTTP utilitzen l'adaptador muntat sota http://.

EntradaQuè controla
pool_connectionsQuants pools emmagatzema el gestor
pool_maxsizeConnexions dins d'un pool
pool_block=TrueEsperar una connexió del pool en lloc de crear-ne una d'addicional

Requests també emmagatzema gestors de proxy per URL de proxy. Aquests valors no formen un únic límit total per a una llista rotativa de proxys i destinacions. Feu servir un pressupost de concurrència a nivell d'aplicació si el requisit és que tota la feina passi per un únic intermediari.

El bloqueig fa imprescindible alliberar les respostes: consumiu els cossos o tanqueu les respostes en streaming perquè la feina en espera pugui continuar. L'adaptador de Requests no ofereix un temps d'espera separat per a aquesta espera del pool en la configuració mostrada.

Articles relacionats