Пры стандартным 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)

Мантаванне выбірае URL-адрасы прызначэння HTTPS. HTTP-запыты выкарыстоўваюць адаптар, усталяваны пад http://.

УваходШто гэта кантралюе
pool_connectionsКолькі пулаў кэшуе менеджэр
pool_maxsizeЗлучэнні ў межах аднаго пула
pool_block=TrueЧакаць злучэння з пула замест стварэння дадатковага

Requests таксама кэшуе менеджэры праксі па URL праксі. Гэтыя значэнні не ўтвараюць адзінага агульнага ліміту для зменнага спіса праксі і прызначэнняў. Калі патрабаванне ў тым, каб уся праца ішла праз адзін пасярэднік, выкарыстойце бюджэт паралельнасці на ўзроўні прыкладання.

Блакаванне робіць вызваленне адказаў абавязковым: спажывайце целы або закрывайце патокавыя адказы, каб работа, якая чакае, магла працягвацца. Адаптар Requests не прадстаўляе асобнага тайм-аўту для гэтага чакання пула ў паказанай канфігурацыі.

Падобныя артыкулы