د لویو پراکسي بستونو لپاره 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 سیټ وکاروئ چې د بشپړېدو سره ډکېږي.
که بسته باید پایلې ورکول ادامه ورکړي، د شبکې تمه شوې ناکامۍ د څېړنې په داخل کې اداره کړئ. کله چې هغه توکی واخیستل شي، نه اداره شوې استثنا پورته کېږي. ThreadPoolExecutor کې chunksize دا د سپارلو بودیجه نه برابروي، او پخوانۍ Python نسخې buffersize نلري.