Python 3.14 Executor.map buffersize foar grutte proxy-bondels
Brûk Python 3.14 Executor.map buffersize om de ynnimte fan ynfier te pauzearjen wylst resultaten wachtsje, ûnôfhinklik fan max_workers.
max_workers=8 beheint de útfierende triedden. It stopet lykwols net dat in aparte yntsjoutlus foar elk einpunt yn in grutte ynfier in Future makket.
Python 3.14 foeget in beheinde foarôf-lêsopsje ta:
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 is de besteande syngroane kontrôle mei netwurktermyn en opromjen; record_result behannelet de weromjûn observaasje. De wearden 8 en 24 binne foarbyldbudzjetten. De fergees proxy-list leveret iepenbiere kandidaten foar einpunten; hâld har protokol by elk adres, sadat check_proxy it juste ferfier brûke kin.
As de yntsjoutbuffer fol is, pauzearret map it brûken fan it iterable oant resultaten levere wurde. Dat jildt ek foar generators.
map leveret noch altyd yn ynfierfolchoarder: in stadige iere kontrôle kin foltôge lettere resultaten fêsthâlde en fierdere ynfier fertrage. Foar ferwurking yn foltôgingsfolchoarder brûk in eksplisyt beheinde set futures dy't byfollet wurdt as se klear binne.
Behannele ferwachte netwurkflatings binnen de kontrôle as de bondel trochgean moat mei resultaten leverjen. In net-behannele útsûndering wurdt oproppen as dat item ophelle wurdt. chunksize fan ThreadPoolExecutor jout dit yntsjoutbudzjet net, en eardere Python-ferzjes hawwe gjin buffersize.