Зошто Requests отвора повеќе врски од pool_maxsize
Користете pool_block за ограничен базен и додајте буџет на ниво на апликација кога ограничувањето треба да покрие целиот сообраќај преку прокси.
Со стандардното pool_block=False, pool_maxsize ги ограничува задржаните врски во базен, а не секоја истовремена врска. Requests може да создаде дополнителни и потоа да ги отфрли.
За ограничен базен што го користат HTTPS-барањата на постоечка сесија:
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)Монтирањето ги избира HTTPS-целните URL-а. HTTP-барањата го користат адаптерот монтиран под http://.
| Влез | Што контролира |
|---|---|
| pool_connections | Колку базени кешира управувачот |
| pool_maxsize | Врски во еден базен |
| pool_block=True | Чекање врска од базенот наместо создавање дополнителна |
Requests кешира и управувачи со прокси по URL на прокси. Овие вредности не сочинуваат едно вкупно ограничување за списокот на проксија и цели што се менува. Користете буџет за паралелност на ниво на апликација ако барањето е целата работа да минува низ еден посредник.
Блокирањето го прави ослободувањето на одговорите неопходно: испразнете ги телата или затворете стриминг одговорите за да може работата што чека да продолжи. Адаптерот на Requests не обезбедува посебен тајмаут за ова чекање на базенот во прикажаниот распоред.