Co valor predeterminado pool_block=False, pool_maxsize limita as conexións retidas nun grupo, non todas as conexións simultáneas. Requests pode crear conexións adicionais e despois descartalas.

Para un grupo limitado que usan as solicitudes HTTPS dunha sesión existente:

from requests.adapters import HTTPAdapter

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

A montaxe selecciona os URL de destino HTTPS. As solicitudes HTTP usan o adaptador montado en http://.

EntradaQue controla
pool_connectionsCantos grupos garda o xestor na caché
pool_maxsizeConexións dentro dun grupo
pool_block=TrueEsperar unha conexión do grupo en vez de crear unha adicional

Requests tamén garda na caché os xestores de proxy por URL de proxy. Estes valores non forman un único límite total para unha lista rotativa de proxies e destinos. Use un orzamento de concorrencia a nivel de aplicación se o requisito é que todo o traballo pase por un único intermediario.

O bloqueo fai imprescindible liberar as respostas: consuma os corpos ou peche as respostas en streaming para que o traballo en espera poida avanzar. O adaptador de Requests non ofrece un tempo de espera separado para esta espera do grupo na disposición mostrada.

Artigos relacionados