Requests niyə pool_maxsize-dan daha çox bağlantı açır
Məhdud hovuz üçün pool_block istifadə edin və limit proksidən keçən bütün trafiki əhatə etməlidirsə, tətbiq səviyyəsində büdcə əlavə edin.
Standart pool_block=False ilə pool_maxsize hovuzda saxlanılan bağlantıları məhdudlaşdırır, eyni anda olan hər bağlantını deyil. Requests əlavə bağlantılar yaradıb sonra onları ata bilər.
Mövcud sessiyanın HTTPS sorğuları üçün istifadə etdiyi məhdud hovuz üçün:
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)Montaj HTTPS hədəf URL-lərini seçir. HTTP sorğuları http:// altında quraşdırılmış adapterdən istifadə edir.
| Giriş | Nəyi idarə edir |
|---|---|
| pool_connections | Menecerin neçə hovuzu keşlədiyi |
| pool_maxsize | Bir hovuz daxilində bağlantılar |
| pool_block=True | Əlavə yaratmaq əvəzinə hovuz bağlantısını gözləmək |
Requests həmçinin proksi menecerlərini proksi URL-i üzrə keşləyir. Bu dəyərlər fırlanan proksi və hədəf siyahısı üzrə vahid ümumi limit təşkil etmir. Əgər tələb bütün işin bir vasitəçidən keçməsidirsə, tətbiq səviyyəsində paralellik büdcəsi istifadə edin.
Bloklama cavabların buraxılmasını vacib edir: gövdələri istehlak edin və ya axın cavablarını bağlayın ki, gözləyən iş davam edə bilsin. Göstərilən quruluşda Requests adapteri bu hovuz gözləməsi üçün ayrıca timeout təqdim etmir.