Med standardvärdet pool_block=False begränsar pool_maxsize de anslutningar som behålls i en pool, inte varje samtidig anslutning. Requests kan skapa extra och sedan kasta bort dem.

För en begränsad pool som en befintlig sessions HTTPS-förfrågningar använder:

from requests.adapters import HTTPAdapter

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

Monteringen väljer HTTPS-mål-URL:er. HTTP-förfrågningar använder adaptern som är monterad under http://.

IndataVad det styr
pool_connectionsHur många pooler hanteraren cachar
pool_maxsizeAnslutningar inom en pool
pool_block=TrueVänta på en poolanslutning i stället för att skapa en extra

Requests cachar också proxyhanterare per proxy-URL. Dessa värden utgör inte en enda total gräns över en roterande lista av proxyservrar och mål. Använd en samtidighetsbudget på applikationsnivå om kravet är att allt arbete går genom en enda förmedlare.

Blockering gör frigöring av svar avgörande: förbruka kropparna eller stäng strömmande svar så att väntande arbete kan fortsätta. Requests adapter ger ingen separat tidsgräns för denna poolväntan i den visade konfigurationen.

Relaterade artiklar