Том прокси багцуудад зориулсан 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 байхгүй.