PoolTimeout ifisser li HTTPX ma setax jikseb konnessjoni mill-pool fi żmien l-istennija kkonfigurat. Mhuwiex prova li konnessjoni TCP ġdida mal-proxy qabżet il-ħin. It-tieni talba tista’ għadha tistenna ġewwa l-proċess tiegħek.

Dan faċli tirriproduċih meta klijent jippermetti konnessjoni waħda u l-ewwel risposta streaming titħalla miftuħa. Talba oħra ma tilliberax dik il-konnessjoni waħedha.

Agħmel ir-responsabbiltà għar-risposta streaming ċara

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)

Ibdel l-indirizz tal-proxy tad-dokumentazzjoni qabel tħaddmu. It-talba li jmiss tibda wara l-ħruġ mill-kuntest tal-stream. Dak il-ħruġ jagħlaq ir-risposta anki jekk il-kodiċi joħroġ mil-loop jew iqajjem eċċezzjoni.

Bi streaming manwali, bħal client.send(request, stream=True), il-kodiċi tiegħek hu responsabbli għall-għeluq finali. Għal AsyncClient, it-tindif manwali korrispondenti jiġi mistenni b’response.aclose(). L-għeluq ta’ risposta mhux moqrija jillibera kapaċità iżda jista’ jirrikjedi li tintrema l-konnessjoni ta’ taħt minflok terġa’ tintuża.

Aqra l-isem tal-eċċezzjoni

ConnectTimeout jikkonċerna l-istabbiliment tal-konnessjoni. ReadTimeout jikkonċerna l-istennija għal data tar-risposta. PoolTimeout jikkonċerna l-kisba ta’ post għal konnessjoni. Li tirreġistra biss «proxy timeout» jitlef id-distinzjoni meħtieġa biex tagħżel tiswija.

Iċċekkja risposti miftuħa, kompiti konkorrenti u limiti ta’ konnessjoni qabel tibdel IPs tal-endpoints. Pool akbar jista’ jkun xieraq għal xogħol konkorrenti leġittimu, iżda ma jsewwix risposti li qatt ma jingħalqu. Jagħti biss aktar kapaċità lill-applikazzjoni biex tokkupaha.

Żomm il-klijent għall-użu mill-ġdid tul ix-xogħol. Li tibnih mill-ġdid biex kull talba tidher taħdem jista’ jaħbi problema taċ-ċiklu tal-ħajja u jitlef l-użu mill-ġdid tal-konnessjonijiet.

Artikli relatati