Nega Requests pool_maxsize'dan ko'proq ulanish ochadi
Cheklangan hovuz uchun pool_block dan foydalaning va chegara proksi orqali butun trafikni qamrab olishi kerak bo'lsa, ilova darajasidagi byudjet qo'shing.
Standart pool_block=False bilan pool_maxsize hovuzda saqlanadigan ulanishlarni cheklaydi, har bir bir vaqtdagi ulanishni emas. Requests qo'shimcha ulanishlar yaratib, keyin ularni tashlab yuborishi mumkin.
Mavjud sessiyaning HTTPS so'rovlari ishlatadigan cheklangan hovuz uchun:
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)O'rnatish HTTPS manzil URL larini tanlaydi. HTTP so'rovlari http:// ostida o'rnatilgan adapterdan foydalanadi.
| Kirish | Nimani boshqaradi |
|---|---|
| pool_connections | Menejer nechta hovuzni keshlaydi |
| pool_maxsize | Bitta hovuz ichidagi ulanishlar |
| pool_block=True | Qo'shimcha yaratish o'rniga hovuz ulanishini kutish |
Requests shuningdek proksi menejerlarini proksi URL bo'yicha keshlaydi. Bu qiymatlar aylanadigan proksilar va manzillar ro'yxati bo'ylab bitta umumiy chegara hosil qilmaydi. Agar talab butun ish bitta vositachi orqali o'tishi bo'lsa, ilova darajasidagi parallellik byudjetidan foydalaning.
Bloklash javoblarni bo'shatishni zarur qiladi: tanalarni iste'mol qiling yoki oqimli javoblarni yoping, shunda kutayotgan ish davom eta oladi. Ko'rsatilgan konfiguratsiyada Requests adapteri bu hovuz kutish uchun alohida taymaut bermaydi.