Неге 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 адаптері осы пул күтуі үшін бөлек тайм-аут бермейді.