Kvifor Requests opnar fleire tilkoplingar enn pool_maxsize
Bruk pool_block for ein avgrensa pool, og legg til eit applikasjonsbudsjett når grensa må dekkje all trafikk gjennom ein proxy.
Med standarden pool_block=False avgrensar pool_maxsize tilkoplingane som vert haldne i ein pool, ikkje kvar samtidige tilkopling. Requests kan lage ekstra og kaste dei etterpå.
For ein avgrensa pool som HTTPS-førespurnadene til ein eksisterande sesjon brukar:
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)Monteringa vel HTTPS-mål-URL-ar. HTTP-førespurnader brukar adapteren som er montert under http://.
| Inndata | Kva det styrer |
|---|---|
| pool_connections | Kor mange polar handsamaren cachar |
| pool_maxsize | Tilkoplingar innanfor ein pool |
| pool_block=True | Vente på ei pooltilkopling i staden for å lage ei ekstra |
Requests cachar òg proxy-handsamarar per proxy-URL. Desse verdiane utgjer ikkje éi samla grense over ei roterande liste av proxyar og mål. Bruk eit samtidigheitsbudsjett på applikasjonsnivå om kravet er at alt arbeid skal gå gjennom éin mellommann.
Blokkering gjer frigjering av svar avgjerande: bruk opp kroppane eller lukk strøymande svar slik at ventande arbeid kan halde fram. Adapteren til Requests gjev ikkje ein eigen tidsavbrot for denne pool-ventinga i oppsettet som er vist.