Зашто 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 адаптер не нуди посебан тајмаут за ово чекање скупа у приказаном распореду.