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-ийн адаптер энэ сангийн хүлээлтэд тусдаа таймаут өгдөггүй.