ProxyAgent batek azkar konekta dezake eta gero erantzun-gorputz baten zain egon daiteke mugarik gabe. Bere proxy endpointaren konexio-denbora-mugak ez du geroagoko itxaronaldi hori deskribatzen.

Ezarri konexio-muga bat endpoint-ean agentea eraikitzean. Beheko HTTP eskaera publikoan, HTTP proxy zerrendako hautagai autentifikatu gabeko batek helbidea ordeztu dezake bitartekari publikoak onartzen badira:

endpoint = TCP4ClientEndpoint(reactor, 'proxy.example', 8080,
                              timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)

Memorian biltzeko asmoa duzun erantzun txiki baterako, sartu gorputzaren irakurketa Deferred katean epea gehitu aurretik:

from twisted.web.client import readBody

d = agent.request(b'GET', b'http://example.com/')
d.addCallback(readBody)
d.addTimeout(10, reactor)
d.addCallback(lambda body: print(len(body)))
d.addErrback(lambda failure: print(failure.getErrorMessage()))

Zatiak suposatzen du aplikazioak jadanik badituela bere reactor-a eta konfiguratutako agentea. ProxyAgent-en eskaeraren Deferred-ak erantzun objektu bat ematen du; readBody-k gorputzaren Deferred-a itzultzen du. Callback-etik itzultzeak katea operazio horren zain egotea ere eragiten du.

Kokapenak garrantzia du. Twisted-ek addTimeout aplikatzen die aurretik instalatutako callback-ek adierazten duten lanari. Geroago gorputz-irakurle bat gehitzeak beste muga bat deskribatuko luke. Antolamendu honetan tenporizadorea addTimeout deitzean hasten da eta kate horretako zain dagoen eskaera eta gorputz-lana hartzen ditu.

Erabili isurtze-kontsumitzaile bat gorputz handi edo mugagabeetarako eta adierazi haren amaiera modu berean. Bezeroaren aldeko epeak zure aplikazioak zenbat itxaroten duen mugatzen du; ez du proxyaren beraren goranzko konexio-denbora-muga birkonfiguratzen.

Erlazionatutako artikuluak