max_workers=8 exekuzio-hariak mugatzen ditu. Baina ez dio eragozten bidalketa-begizta bereizi bati sarrera erraldoi batean mutur bakoitzeko Future bat sortzea.

Python 3.14 bertsioak aurrez irakurtzeko aukera mugatua gehitzen du:

from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(max_workers=8) as executor:
    for result in executor.map(check_proxy, endpoints, buffersize=24):
        record_result(result)

check_proxy lehendik dagoen egiaztapen sinkronoa da, sareko epeekin eta garbiketarekin; record_result itzultzen duen behaketa kudeatzen du. 8 eta 24 balioak adibide-aurrekontuak dira. proxy zerrenda doakoa zerrendak muturretarako hautagai publikoak ematen ditu; mantendu protokoloa helbide bakoitzarekin, check_proxy-k garraio egokia erabil dezan.

Bidalketa-bufferra betetzen denean, map-ek iteragarriaren kontsumoa eteten du emaitzak eman arte. Hori sortzaileei ere aplikatzen zaie.

map-ek oraindik sarrera-ordenan ematen du: hasierako egiaztapen motelek geroagoko emaitza osatuak atxiki eta sarrera gehiago atzeratu dezakete. Amaiera-ordenan prozesatzeko, erabili esplizituki mugatutako futures multzo bat, amaitzean betetzen dena.

Kudeatu espero diren sare-hutsegiteak egiaztapenaren barruan, sortak emaitzak ematen jarraitu behar badu. Kudeatu gabeko salbuespena elementu hori eskuratzean sortzen da. ThreadPoolExecutor-en chunksize ez du bidalketa-aurrekontu hau ematen, eta Python bertsio zaharrek ez dute buffersize.

Erlazionatutako artikuluak