Zašto Requests otvara više veza od pool_maxsize
Koristite pool_block za ograničen pul, i dodajte budžet aplikacije kada ograničenje mora pokriti sav saobraćaj kroz proxy.
Uz zadani pool_block=False, pool_maxsize ograničava zadržane veze u pulu, a ne svaku istovremenu vezu. Requests može stvoriti dodatne veze i zatim ih odbaciti.
Za ograničen pul koji koristi HTTPS zahtjeve postojeće sesije:
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)Montiranje odabire HTTPS odredišne URL-ove. HTTP zahtjevi koriste adapter montiran pod http://.
| Ulaz | Šta kontroliše |
|---|---|
| pool_connections | Koliko pulova menadžer kešira |
| pool_maxsize | Veze unutar jednog pula |
| pool_block=True | Čekanje na vezu iz pula umjesto stvaranja dodatne |
Requests također kešira proxy menadžere po proxy URL-u. Ove vrijednosti ne čine jedan ukupni limit preko rotirajuće liste proxyja i odredišta. Koristite budžet paralelnosti na razini aplikacije ako je zahtjev da sav posao ide kroz jedan posrednik.
Blokiranje čini oslobađanje odgovora obaveznim: konzumirajte tijela ili zatvorite streaming odgovore kako bi posao koji čeka mogao napredovati. Requests adapter ne nudi poseban timeout za ovo čekanje na pul u prikazanom rasporedu.