Python 3.14 Executor.map buffersize פֿאַר גרויסע פּראָקסי פּאַרטן
ניצט Python 3.14 Executor.map buffersize צו פּויזירן דעם אַרייַנגאַנג פֿאַרנוץ ווען רעזולטאַטן וואַרטן, אומאָפּהענגיק פֿון max_workers.
max_workers=8 באַגרענעצט די אויספֿירנדיקע פֿעדעם. אָבער עס פֿאַרהינדערט נישט אַ באַזונדער אָפּשיקונגס-שלייף פֿון שאַפֿן אַ Future פֿאַר יעדער ענדפּונקט אין אַ ריזיקן אַרייַנגאַנג.
Python 3.14 לייגט צו אַ באַגרענעצטע פֿאַרויסלייענען אָפּציע:
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 איז די עקזיסטירנדיקע סינכראָנע פּרובֿ מיט נעץ-טערמינען און רייניקונג; record_result באַהאַנדלט די צוריקגעגעבענע אָבסערוואַציע. די ווערטן 8 און 24 זענען בייַשפּיל בודזשעטן. פֿרײַע פּראָקסי רשימה פֿאַרזאָרגט עפֿנטלעכע קאַנדידאַטן פֿאַר ענדפּונקטן; האַלט זייער פּראָטאָקאָל מיט יעדער אַדרעס כּדי check_proxy זאָל ניצן דעם ריכטיקן טראַנספּאָרט.
ווען דער אָפּשיקונגס-בופֿער ווערט פֿול, פּויזירט map דעם פֿאַרנוץ פֿון דעם איבערחזרנדיקן אָביעקט ביז רעזולטאַטן ווערן איבערגעגעבן. דאָס גילט אויך פֿאַר גענעראַטאָרן.
map גיט נאָך אין אַרייַנגאַנג סדר: אַ פּאַמעלעכע פֿריִיִקע פּרובֿ קען אָפּהאַלטן פֿאַרטיקע שפּעטערדיקע רעזולטאַטן און פֿאַרהאַלטן ווײַטערדיקן אַרייַנגאַנג. פֿאַר באַהאַנדלונג אין פֿאַרטיקונגס סדר, ניצט אַן אויסשליסלעך באַגרענעצטע גאַנג פֿון futures וואָס ווערט אָנגעפֿילט ווען זיי ענדיקן.
באַהאַנדלט דערוואַרטע נעץ-דורכפֿאַלן אין דער פּרובֿ אויב דער פּאַרט מוז ממשיך זײַן איבערצוגעבן רעזולטאַטן. אַן אומבאַהאַנדלטע אויסנאַם ווערט אויפֿגעהויבן ווען יענער פּונקט ווערט אָפּגענומען. chunksize אין ThreadPoolExecutor גיט נישט דעם אָפּשיקונגס-בודזשעט, און עלטערע Python ווערסיעס האָבן נישט buffersize.