Przy domyślnym pool_block=False pool_maxsize ogranicza połączenia utrzymywane w puli, a nie każde jednoczesne połączenie. Requests może tworzyć dodatkowe i następnie je odrzucać.

Dla ograniczonej puli używanej przez żądania HTTPS istniejącej sesji:

from requests.adapters import HTTPAdapter

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

Montowanie wybiera docelowe adresy URL HTTPS. Żądania HTTP korzystają z adaptera zamontowanego pod http://.

WejścieCo kontroluje
pool_connectionsIle puli menedżer przechowuje w pamięci podręcznej
pool_maxsizePołączenia w obrębie jednej puli
pool_block=TrueCzekanie na połączenie z puli zamiast tworzenia dodatkowego

Requests przechowuje też w pamięci podręcznej menedżery proxy według adresu URL proxy. Te wartości nie tworzą jednego całkowitego limitu dla zmiennej listy proxy i celów. Użyj budżetu współbieżności na poziomie aplikacji, jeśli wymaganiem jest, aby cała praca przechodziła przez jednego pośrednika.

Blokowanie czyni zwalnianie odpowiedzi niezbędnym: zużywaj treści lub zamykaj odpowiedzi strumieniowe, aby oczekująca praca mogła postępować. Adapter Requests nie zapewnia osobnego limitu czasu dla tego oczekiwania na pulę w pokazanym układzie.

Powiązane artykuły