ProxyAgent ສາມາດເຊື່ອມຕໍ່ໄດ້ໄວແລ້ວລໍຖ້າເນື້ອຄວາມຕອບສະໜອງແບບບໍ່ມີກຳນົດ. ເວລາກຳນົດການເຊື່ອມຕໍ່ຂອງຈຸດປາຍ proxy ບໍ່ໄດ້ອະທິບາຍການລໍຖ້າພາຍຫຼັງນັ້ນ.

ຕັ້ງຂອບເຂດການເຊື່ອມຕໍ່ຢູ່ຈຸດປາຍຕອນສ້າງ agent. ສຳລັບຄຳຮ້ອງ HTTP ສາທາລະນະຂ້າງລຸ່ມ, ຜູ້ສະໝັກທີ່ບໍ່ໄດ້ຢືນຢັນຈາກ ລາຍຊື່ proxy HTTP ສາມາດປ່ຽນທີ່ຢູ່ໄດ້ຖ້າອະນຸຍາດໃຫ້ມີຕົວກາງສາທາລະນະ:

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

ສຳລັບການຕອບສະໜອງນ້ອຍທີ່ທ່ານຕ້ອງການເກັບໃນຫນ່ວຍຄວາມຈຳ, ໃຫ້ລວມການອ່ານເນື້ອຄວາມໃນລະບົບ Deferred ກ່ອນເພີ່ມກຳນົດເວລາ:

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

ສ່ວນນີ້ສົມມຸດວ່າແອັບຯມີ reactor ແລະ agent ທີ່ຕັ້ງຄ່າແລ້ວ. Deferred ຂອງຄຳຮ້ອງ ProxyAgent ໃຫ້ວັດຖຸຕອບສະໜອງ; readBody ສົ່ງຄືນ Deferred ສຳລັບເນື້ອຄວາມ. ການສົ່ງຄືນຈາກ callback ເຮັດໃຫ້ລະບົບລໍຖ້າການດຳເນີນການນັ້ນນຳ.

ຕຳແໜ່ງສຳຄັນ. Twisted ໃຊ້ addTimeout ກັບວຽກທີ່ callback ທີ່ຕິດຕັ້ງກ່ອນໜ້ານັ້ນສະແດງເຖິງ. ການເພີ່ມຕົວອ່ານເນື້ອຄວາມພາຍຫຼັງຈະອະທິບາຍຂອບເຂດອື່ນ. ໃນການຈັດວາງນີ້ ໂມງຈັບເວລາເລີ່ມຕອນເອີ້ນ addTimeout ແລະຄຸມຄຳຮ້ອງທີ່ຄ້າງຢູ່ກັບວຽກເນື້ອຄວາມໃນລະບົບນັ້ນ.

ໃຊ້ຜູ້ບໍລິໂພກແບບສະຕຣີມສຳລັບເນື້ອຄວາມໃຫຍ່ຫຼືບໍ່ມີຂອບເຂດ ແລະສະແດງການສຳເລັດໃນແບບດຽວກັນ. ກຳນົດເວລາຝັ່ງລູກຄ້າຈຳກັດເວລາທີ່ແອັບຯຂອງທ່ານລໍຖ້າ; ມັນບໍ່ໄດ້ຕັ້ງຄ່າເວລາກຳນົດການເຊື່ອມຕໍ່ຂຶ້ນໄປຂອງ proxy ຄືນໃໝ່.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ