Ինչու է Requests-ը բացում ավելի շատ կապեր, քան pool_maxsize-ը
Օգտագործեք pool_block սահմանափակ լողավազանի համար, և ավելացրեք հավելվածի բյուջե, երբ սահմանը պետք է ծածկի պրոքսիով անցնող ողջ երթևեկությունը։
Լռելյայն pool_block=False դեպքում pool_maxsize սահմանափակում է լողավազանում պահվող կապերը, ոչ թե յուրաքանչյուր միաժամանակյա կապ։ Requests-ը կարող է լրացուցիչ կապեր ստեղծել և հետո դեն նետել դրանք։
Գոյություն ունեցող սեսիայի HTTPS հարցումներով օգտագործվող սահմանափակ լողավազանի համար՝
from requests.adapters import HTTPAdapter
adapter = HTTPAdapter(
pool_connections=10,
pool_maxsize=4,
pool_block=True,
)
session.mount("https://", adapter)Մոնտավորումը ընտրում է HTTPS նպատակակետ URL-ները։ HTTP հարցումներն օգտագործում են http://-ի տակ մոնտավորված ադապտերը։
| Մուտք | Ինչ է կառավարում |
|---|---|
| pool_connections | Քանի լողավազան է պահում կառավարիչը քեշում |
| pool_maxsize | Կապերը մեկ լողավազանի ներսում |
| pool_block=True | Սպասել լողավազանի կապի՝ լրացուցիչ ստեղծելու փոխարեն |
Requests-ը նաև քեշավորում է պրոքսի կառավարիչները ըստ պրոքսի URL-ի։ Այս արժեքները մեկ ընդհանուր սահման չեն կազմում պտտվող պրոքսիների և նպատակակետերի ցանկի համար։ Օգտագործեք հավելվածի մակարդակի զուգահեռության բյուջե, եթե պահանջն այն է, որ ողջ աշխատանքն անցնի մեկ միջնորդով։
Արգելափակումը անհրաժեշտ է դարձնում պատասխանների ազատումը. սպառեք մարմինները կամ փակեք հոսքային պատասխանները, որպեսզի սպասող աշխատանքը կարողանա շարունակվել։ Requests-ի ադապտերը ցուցադրված դասավորության մեջ առանձին ժամկետ չի տրամադրում այս լողավազանի սպասման համար։