buffersize Executor.map Python 3.14 ar gyfer sypiau procsi mawr
Defnyddiwch buffersize Executor.map Python 3.14 i oedi defnydd y mewnbwn tra bo canlyniadau'n aros, yn annibynnol ar max_workers.
max_workers=8 sy'n cyfyngu'r edafedd gweithredu. Nid yw'n atal dolen gyflwyno ar wahân rhag creu Future ar gyfer pob pwynt terfyn mewn mewnbwn enfawr.
Mae Python 3.14 yn ychwanegu opsiwn rhag-ddarllen cyfyngedig:
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 yw'r gwiriad cydamserol presennol, gyda therfynau amser rhwydwaith a glanhau; mae record_result yn trin yr arsylwad a ddychwelir. Mae'r gwerthoedd 8 a 24 yn gyllidebau enghreifftiol. Mae'r rhestr procsi am ddim yn darparu ymgeiswyr cyhoeddus ar gyfer pwyntiau terfyn; cadwch eu protocol gyda phob cyfeiriad fel y gall check_proxy ddefnyddio'r cludiant cywir.
Pan fydd y bwfer cyflwyno'n llenwi, mae map yn oedi defnyddio'r iteradwy nes bod canlyniadau'n cael eu dychwelyd. Mae hyn hefyd yn berthnasol i generaduron.
Mae map yn dal i ddychwelyd yn nhrefn y mewnbwn: gall gwiriad cynnar araf ddal canlyniadau diweddarach sydd wedi gorffen ac oedi mwy o fewnbwn. Ar gyfer prosesu yn nhrefn cwblhau, defnyddiwch set futures a gyfyngir yn benodol ac a ail-lenwir wrth iddynt orffen.
Triniwch fethiannau rhwydwaith disgwyliedig y tu mewn i'r gwiriad os dylai'r swp barhau i ddychwelyd canlyniadau. Codir eithriad heb ei drin pan geir yr eitem honno. Nid yw chunksize ThreadPoolExecutor yn darparu'r gyllideb gyflwyno hon, ac nid oes gan fersiynau cynharach o Python buffersize.