Àwọn àyẹ̀wò proxy Python: kí ni ó fà á tí Future.cancel() fi ń jẹ́ kí àwọn thread máa ṣiṣẹ́
Lóye kí ni ó fà á tí fí fagilé àwọn future tí ń dúró kò fi dá àwọn àyẹ̀wò nẹ́tíwọ́kì tí ń ṣiṣẹ́ dúró, kí o sì dín eré proxy kù láìsọ pé ó jẹ́rìí ìlera ibi tí ó ń lọ.
Worker kan rí proxy tí ó ṣe é lò. O dá àdírẹ́sì rẹ̀ padà, o pe cancel lórí àwọn future mìíràn, o sì retí pé ìṣe nẹ́tíwọ́kì yóò dá. Ó lè má dá.
A lè fagilé Future kí callable rẹ̀ tó bẹ̀rẹ̀. Nígbà tí thread kan ti ń ṣe ìbéèrè kan, fífagilé Future rẹ̀ kò dá ìṣe socket yẹn dúró. Worker nílò ìṣe nẹ́tíwọ́kì rẹ̀ tí ó ní ààlà àti ọ̀nà ìmọ́tótó.
Ìgbà ayé executor ṣe pàtàkì pẹ̀lú. Fífi ibi-ìtọ́kasí ThreadPoolExecutor sílẹ̀ ń dúró kí iṣẹ́ rẹ̀ parí. Rírí èsì kan tí ó yára lẹ́yìn náà dídúró de ọ̀pọ̀ workers tí ó lọra lè mú kí ìdádúró àpapọ̀ ẹni tí ń pè má dà bí latency tí ẹni tí ó borí sọ.
Dín eré kù kí ó tó bẹ̀rẹ̀
- Dín iye àwọn àyẹ̀wò àkókò kan kù dípò fífi àkójọpọ̀ gbangba tí kò ní ààlà ránṣẹ́. Àkójọpọ̀ proxy ọ̀fẹ́ ń pèsè àwọn olùdíje fún ìwọlé olùyẹ̀wò, pẹ̀lú ìlànà endpoint kọ̀ọ̀kan tí a pa mọ́ fún worker.
- Fún ìbéèrè kọ̀ọ̀kan ní ìlànà ìsopọ̀ àti kíkà tí ó yẹ.
- Fún ẹni tí ń pè ní ìsúnná owó ìpinnu àpapọ̀.
- Sọ ẹni tí ó ń tú tàbí tí ń pa àwọn èsì láti ọ̀dọ̀ workers tí ó wà pẹ́ ju ìpinnu lọ.
Dídúró díẹ̀ fún Future kò jẹ́ bíi kíkuru ìbéèrè rẹ̀. Bákan náà, fífi èsì sílẹ̀ kò tú gbogbo ohun àmúṣọrọ̀ nẹ́tíwọ́kì sílẹ̀ lẹ́sẹ̀kẹsẹ̀.
Èsì àṣeyọrí àkọ́kọ́ náà jẹ́ àyẹ̀wò àṣeyọrí àkọ́kọ́ nìkan. Ó lè sinmi lórí ìṣètò, àwọn ìsopọ̀ tí a ti fi pamọ́, àti ibi àyẹ̀wò pàtó kan. Kò fi hàn pé endpoint ni ó yára jùlọ kárí ayé tàbí pé iṣẹ́ gidi yóò ṣàṣeyọrí.
Ní ọ̀pọ̀ ìgbà adágún kékeré tí a pa mọ́ pẹ̀lú àwọn àkíyèsí tuntun rọrùn ju fífi gbogbo àkójọpọ̀ du eré ṣáájú gbogbo ìgbasílẹ̀. Lo èsì ìṣe gidi láti ṣe àtúnṣe àkọsílẹ̀, pẹ̀lú ìlànà ìmúpadà tí a ṣàkóso fún àwọn ìkùnà. Àyẹ̀wò àkọ́kọ́ yẹ kí ó jèrè ìnáwó rẹ̀ dípò fífi ìlànà ṣe ìlọ́po méjì gbogbo iṣẹ́.