Zergatik irekitzen dituen Requests-ek pool_maxsize baino konexio gehiago
Erabili pool_block muga duen pool baterako, eta gehitu aplikazio-mailako aurrekontua muga proxy baten bidezko trafiko guztiari aplikatu behar zaionean.
Lehenetsitako pool_block=False erabiliz, pool_maxsize pool batean gordetako konexioak mugatzen ditu, ez aldi bereko konexio guztiak. Requests-ek gehigarriak sor ditzake eta gero baztertu.
Dagoen sesio baten HTTPS eskaerek erabiltzen duten muga duen pool baterako:
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)Muntaiak HTTPS helmugako URLak hautatzen ditu. HTTP eskaerek http:// azpian muntatutako egokitzailea erabiltzen dute.
| Sarrera | Zer kontrolatzen duen |
|---|---|
| pool_connections | Zenbat pool gordetzen dituen kudeatzaileak cachean |
| pool_maxsize | Pool baten barruko konexioak |
| pool_block=True | Pool konexio baten zain egon gehigarri bat sortu beharrean |
Requests-ek proxy kudeatzaileak ere cachean gordetzen ditu proxy URLaren arabera. Balio hauek ez dute muga oso bakarra osatzen txandakatzen den proxy eta helmugen zerrendan zehar. Erabili aplikazio-mailako konkurrentzia-aurrekontua baldintza bitartekari bakarrean zehar lan guztia egitea bada.
Blokeatzeak ezinbesteko egiten du erantzunak askatzea: kontsumitu gorputzak edo itxi streaming erantzunak zain dagoen lanak aurrera egin dezan. Requests-en egokitzaileak ez du itxaronaldi horretarako denbora-muga bereizirik eskaintzen erakutsitako antolamenduan.