Seiceálacha seachfhreastalaí Python: cén fáth a bhfágann Future.cancel() snáitheanna ag rith
Tuig cén fáth nach stopann cealú futures atá ar feitheamh seiceálacha gréasáin gníomhacha, agus teorannaigh rás seachfhreastalaí gan a mhaíomh go gcruthaíonn sé sláinte an chinn scríbe.
Aimsíonn worker amháin seachfhreastalaí inúsáidte. Filleann tú a sheoladh, glaoann tú cancel ar na futures eile, agus bíonn tú ag súil go stopfaidh an ghníomhaíocht ghréasáin. B'fhéidir nach stopfaidh.
Is féidir Future a chealú sula dtosaíonn a callable. Nuair a bhíonn snáithe ag rith iarratais cheana féin, ní chuireann cealú a Future isteach ar an oibríocht socket sin. Teastaíonn a oibríocht ghréasáin theoranta féin agus a chonair ghlanta ón worker.
Tá tábhacht freisin le saolré an fhorghníomhaitheora. Fanann fágáil comhthéacs ThreadPoolExecutor go dtí go gcríochnaíonn a chuid oibre. Má aimsíonn tú toradh tapa amháin agus ansin fanann tú le roinnt workers mall, féadfaidh moill iomlán an ghlaoiteora a bheith go hiomlán difriúil ón latency a thuairiscigh an buaiteoir.
Teorannaigh an rás sula dtosaíonn sé
- Teorannaigh líon na seiceálacha comhreathacha in ionad liosta poiblí neamhtheoranta a chur isteach. Soláthraíonn an liosta seachfhreastalaí saor in aisce iarrthóirí d'ionchur an tseiceálaí, agus coinnítear prótacal gach críochphointe don worker.
- Tabhair polasaí ceangail agus léitheoireachta cuí do gach iarratas.
- Tabhair buiséad cinidh iomlán don ghlaoiteoir.
- Sainmhínigh cé a dhraenálann nó a dhúnann torthaí ó workers a mhaireann níos faide ná an cinneadh.
Ní hé fanacht níos lú le Future an rud céanna le hiarratas bunúsach a dhéanamh níos giorra. Mar an gcéanna, ní scaoileann tréigean an toraidh gach acmhainn ghréasáin láithreach.
Níl sa chéad toradh rathúil ach an chéad seiceáil rathúil freisin. Féadfaidh sé brath ar sceidealú, ar naisc i dtaisce agus ar an gceann scríbe seiceála ar leith. Ní chruthaíonn sé go bhfuil an críochphointe ar an gceann is tapúla go huilíoch ná go n-éireoidh leis an bhfíortasc.
Is minic a bhíonn linn bheag choinnithe le breathnuithe le déanaí níos simplí ná rás a dhéanamh leis an liosta iomlán roimh gach íoslódáil. Úsáid toradh na fíoroibríochta chun an taifead a nuashonrú, le polasaí aisghabhála rialaithe le haghaidh teipeanna. Ba chóir don réamhsheiceáil a costas a thuilleamh seachas gach tasc a dhúbailt de ghnáth.