Ukaguzi wa proksi za Python: kwa nini Future.cancel() huacha nyuzi zikiendesha
Elewa kwa nini kughairi futures zinazosubiri hakuwezi kusimamisha ukaguzi wa mtandao unaoendelea, na uweke kikomo kwenye mbio za proksi bila kudai kuwa zinathibitisha afya ya lengwa.
Worker mmoja hupata proksi inayoweza kutumika. Unarudisha anwani yake, unaita cancel kwenye futures nyingine, na unatarajia shughuli za mtandao zisimame. Huenda zisikome.
Future inaweza kughairiwa kabla ya callable yake kuanza. Uzi unapokuwa tayari unatekeleza ombi, kughairi Future yake hakuwezi kusimamisha operesheni hiyo ya socket. Worker anahitaji operesheni yake ya mtandao yenye kikomo na njia ya kusafisha.
Muda wa maisha wa executor pia ni muhimu. Kuondoka kwenye muktadha wa ThreadPoolExecutor husubiri kazi yake ikamilike. Kupata tokeo moja la haraka kisha kusubiri workers kadhaa wa polepole kunaweza kufanya ucheleweshaji wote wa mwitaji usionekane kama latency iliyoripotiwa na mshindi.
Weka kikomo kwenye mbio kabla ya kuanza
- Weka kikomo kwa idadi ya ukaguzi wa wakati mmoja badala ya kuwasilisha orodha ya umma isiyo na kikomo. Orodha ya proksi bila malipo hutoa watahiniwa kwa pembejeo ya mkaguzi, huku itifaki ya kila endpoint ikihifadhiwa kwa worker.
- Ipe kila ombi sera ifaayo ya muunganisho na usomaji.
- Mpe mwitaji bajeti ya jumla ya uamuzi.
- Bainisha nani anamwaga au anafunga matokeo kutoka kwa workers wanaoishi zaidi ya uamuzi.
Kusubiri kwa muda mfupi kwa Future si sawa na kufanya ombi lake la msingi liwe fupi. Vilevile, kuachana na tokeo hakuachili rasilimali zote za mtandao mara moja.
Tokeo la kwanza lililofanikiwa pia ni ukaguzi wa kwanza uliofanikiwa tu. Linaweza kutegemea upangaji, miunganisho iliyohifadhiwa, na lengwa mahususi la ukaguzi. Halithibitishi kuwa endpoint ni ya haraka zaidi ulimwenguni au kwamba kazi halisi itafanikiwa.
Mara nyingi bwawa dogo lililohifadhiwa na uchunguzi wa hivi karibuni ni rahisi kuliko kushindana na orodha yote kabla ya kila upakuaji. Tumia tokeo la operesheni halisi kusasisha rekodi, pamoja na sera ya urejeshaji inayodhibitiwa kwa kushindwa. Ukaguzi wa mapema unapaswa kujipatia gharama yake badala ya kuongeza mara mbili kila kazi kwa mazoea.