HTTPX PoolTimeout د پراکسي اتصال وخت ختمېدل نه دي
د HTTPX اتصال ټولګه کې انتظار وپېژنئ او د هغې پراکسي له بدلولو مخکې جریاني ځوابونه خوشې کړئ چې ښايي بله غوښتنه یې نه وي ترلاسه کړې.
PoolTimeout دا معنا لري چې HTTPX په ټاکل شوي انتظار وخت کې له ټولګې اتصال نه دی اخیستی. دا پراکسي ته د نوي TCP اتصال د وخت ختمېدو ثبوت نه دی. دویمه غوښتنه ښايي لا ستاسو د پروسې دننه انتظار کوي.
دا هغه وخت په اسانۍ تکرارېږي چې کلاینټ یو اتصال مني او لومړی جریاني ځواب پرانیستی پاتې شي. د بلې غوښتنې پیل هغه اتصال پخپله نه خوشې کوي.
د جریاني ځواب مسؤلیت څرګند وساتئ
import httpx
limits = httpx.Limits(
max_connections=1,
max_keepalive_connections=1,
)
timeout = httpx.Timeout(
connect=5, read=10, write=10, pool=1
)
with httpx.Client(
proxy="http://203.0.113.10:8080",
trust_env=False,
limits=limits,
timeout=timeout,
) as client:
with client.stream("GET", "https://example.com/") as response:
print(response.status_code)
for chunk in response.iter_bytes():
print(len(chunk))
next_response = client.get("https://example.com/")
print(next_response.status_code)
له چلولو مخکې د اسنادو پراکسي پته بدله کړئ. بله غوښتنه د جریان له کانتېکست څخه تر وتلو وروسته پیلېږي. دا وتل ځواب تړي، که کوډ له کړۍ ووځي یا استثنا پورته کړي هم.
په لاسي جریان کې، لکه client.send(request, stream=True)، وروستۍ تړنه ستاسو د کوډ مسؤلیت دی. د AsyncClient اړوند لاسي پاکول له response.aclose() سره انتظار کېږي. د نالوستي ځواب تړل ظرفیت خوشې کوي خو ښايي د لاندې اتصال بیا کارولو پر ځای پرېښودل وغواړي.
د استثنا نوم ولولئ
ConnectTimeout د اتصال جوړولو په اړه دی. ReadTimeout د ځواب معلوماتو انتظار دی. PoolTimeout د اتصال ځای ترلاسه کول دي. یوازې «پراکسي وخت ختم شو» ثبتول هغه توپیر له منځه وړي چې د حل ټاکلو لپاره اړین دی.
د پایټکي IP له بدلولو مخکې پرانیستي ځوابونه، هممهاله دندې او د اتصال حدونه وګورئ. لویه ټولګه د مشروع هممهاله بار لپاره مناسبه کېدای شي، خو هېڅکله نه تړل کېدونکي ځوابونه نه سموي. یوازې اپلېکېشن ته د نیولو لپاره زیات ظرفیت ورکوي.
کلاینټ د ټول کاري بار په اوږدو کې د بیا کارونې وړ وساتئ. د هرې غوښتنې د ظاهري کار لپاره کلاینټ بیا جوړول د ژوند پړاو ستونزه پټولای او د اتصال بیا کارونه له منځه وړلای شي.