I-ProxyAgent ingaxhumana ngokushesha bese ilinda umzimba wempendulo ngaphandle kwesikhathi. Isikhathi sokuxhumana se-proxy endpoint yayo asikuchazi lokho kulinda kwamuva.

Setha umkhawulo wokuxhumana ku-endpoint uma wakha i-ejenti. Ku-isicelo se-HTTP somphakathi ngezansi, umuntu ongaqinisekisiwe ovela kuhlu lwe-HTTP proxy angashintsha ikheli uma abaxhumanisi bomphakathi bevunyelwe:

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

Kumpendulo encane ohlose ukuyiqoqa kumemori, faka ukufunda umzimba ku-Deferred chain ngaphambi kokwengeza isikhathi sokuphela:

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()))

Le ngxenye icabanga ukuthi uhlelo lune-reactor yalo ne-ejenti elilungisiwe. I-Deferred yesicelo se-ProxyAgent inikeza into yempendulo; i-readBody ibuyisela i-Deferred yomzimba. Ukuyibuyisela kusuka ku-callback kwenza i-chain ilinde nalowo msebenzi.

Indawo ibalulekile. I-Twisted isebenzisa i-addTimeout emsebenzini omelelwa ama-callback afakwe ngaphambili kwayo. Ukwengeza umfundi womzimba ngemuva kwalokho kungachaza umkhawulo ohlukile. Kulokhu kuhlelwa isibali sikhathi siqala lapho kubizwa i-addTimeout futhi sihlanganisa isicelo esilindile nomsebenzi womzimba kulowo chain.

Sebenzisa umsebenzisi wokugeleza emzimbeni omkhulu noma onganqunyelwe futhi ubonise ukuqedwa kwawo ngendlela efanayo. Isikhathi sokuphela ohlangothini lwekhasimende sikhawulela isikhathi uhlelo lwakho olulindayo; asilungisi kabusha isikhathi sokuxhumana esiphezulu se-proxy ngokwayo.

Izihloko ezihlobene