Chan e crìoch-ama ceangail ris a’ phrogsaidh a th’ ann an HTTPX PoolTimeout
Aithnich feitheamh ann an amar cheanglaichean HTTPX agus saor freagairtean srutha mus atharraich thu progsaidh nach d’ fhuair iarrtas eile, ’s dòcha.
Tha PoolTimeout a’ ciallachadh nach d’ fhuair HTTPX ceangal bhon amar aige taobh a-staigh na h-ùine feithimh a chaidh a rèiteachadh. Chan eil e na dhearbhadh gun deach ceangal TCP ùr ris a’ phrogsaidh thar na h-ùine. Dh’fhaodadh an dàrna iarrtas a bhith fhathast a’ feitheamh am broinn do phròiseis.
Tha seo furasta ath-chruthachadh nuair a cheadaicheas cliant aon cheangal agus a dh’fhàgar a’ chiad fhreagairt srutha fosgailte. Cha saor tòiseachadh iarrtais eile an ceangal sin leis fhèin.
Dèan soilleir cò tha an urra ris an fhreagairt srutha
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)
Cuir fìor sheòladh an àite seòladh progsaidh na sgrìobhainn mus ruith thu e. Tòisichidh an ath iarrtas an dèidh fàgail co-theacsa an t-srutha. Dùinidh an fhàgail sin an fhreagairt fiù ’s ma bhriseas an còd às an lùb no ma thogas e eisgeachd.
Le sruthadh làimhe, mar client.send(request, stream=True), tha do chòd an urra ris an dùnadh mu dheireadh. Airson AsyncClient, feithear ris a’ ghlanadh làimhe cho-fhreagarrach le response.aclose(). Saoraidh dùnadh freagairt gun leughadh comas, ach dh’fhaodadh gum feumar an ceangal bunaiteach a thilgeil air falbh seach ath-chleachdadh.
Leugh ainm na h-eisgeachd
Tha ConnectTimeout mu stèidheachadh ceangail. Tha ReadTimeout mu fheitheamh ri dàta freagairt. Tha PoolTimeout mu àite ceangail fhaighinn. Caillidh logadh «crìoch-ama progsaidh» a-mhàin an diofar a dh’fheumar airson fuasgladh a thaghadh.
Sgrùd freagairtean fosgailte, gnìomhan co-ama agus crìochan cheanglaichean mus atharraich thu IPan nam puingean-deiridh. Faodaidh amar nas motha a bhith freagarrach airson eallach co-ama reusanta, ach cha chàraich e freagairtean nach dùinear a-riamh. Chan eil e ach a’ toirt barrachd comais dhan aplacaid a ghabhail suas.
Cùm an cliant ath-chleachdte tron eallach obrach. Faodaidh ath-thogail cliant gus gum bi coltas obrach air gach iarrtas duilgheadas cuairt-beatha fhalach agus ath-chleachdadh cheanglaichean a chall.