Miks Requests avab rohkem ühendusi kui pool_maxsize
Kasutage piiratud basseini jaoks pool_blocki ja lisage rakenduse eelarve, kui piirang peab katma kogu puhverserveri kaudu käiva liikluse.
Vaikimisi pool_block=False korral piirab pool_maxsize basseinis hoitavaid ühendusi, mitte iga samaaegset ühendust. Requests võib luua lisanduvaid ja need seejärel kõrvale heita.
Piiratud basseini jaoks, mida olemasoleva sessiooni HTTPS-päringud kasutavad:
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)Paigaldus valib HTTPS-sihtkoha URL-id. HTTP-päringud kasutavad adapterit, mis on paigaldatud http:// alla.
| Sisend | Mida see juhib |
|---|---|
| pool_connections | Kui palju basseine haldur vahemällu salvestab |
| pool_maxsize | Ühendused ühe basseini sees |
| pool_block=True | Oodata basseiniühendust, selle asemel et luua lisanduv |
Requests salvestab vahemällu ka puhverserveri haldureid puhverserveri URL-i järgi. Need väärtused ei moodusta ühtset kogupiiri pöörleva puhverserverite ja sihtkohtade loendi ulatuses. Kui nõue on, et kogu töö käiks ühe vahendaja kaudu, kasutage rakenduse tasandi paralleelsuse eelarvet.
Blokeerimine muudab vastuste vabastamise hädavajalikuks: tarbige kehi või sulgege voogesituse vastused, et ootav töö saaks jätkuda. Requestsi adapter ei paku näidatud lahenduses selle basseini ootamise jaoks eraldi ajalõppu.