Python 3.14 Executor.map buffersize don manyan rukunin wakili
Yi amfani da Python 3.14 Executor.map buffersize don dakatar da cinye shigarwa yayin da sakamako ke jira, ba tare da max_workers ba.
max_workers=8 yana iyakance zaren aiki. Amma bai hana wani madauki na ƙaddamarwa daban ƙirƙirar Future ga kowane ƙarshen wuri a cikin babbar shigarwa ba.
Python 3.14 yana ƙara zaɓin karanta gaba mai iyaka:
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 shine binciken da ake da shi na lokaci ɗaya tare da iyakokin cibiyar sadarwa da tsaftacewa; record_result yana kula da abin lura da yake mayarwa. Ƙimar 8 da 24 misalan kasafin kuɗi ne. jerin wakili kyauta yana ba da yan takara na jama a ga ƙarshen wurare; riƙe ka idarsu tare da kowane adireshi domin check_proxy ya yi amfani da hanyar da ta dace.
Lokacin da buffer ɗin ƙaddamarwa ya cika, map yana dakatar da cinye abin maimaitawa har sai an ba da sakamako. Wannan ya shafi janareto ma.
map har yanzu yana bayarwa bisa tsarin shigarwa: jinkirin bincike na farko zai iya riƙe sakamakon da suka riga suka kammala da jinkirta ƙarin shigarwa. Don aiki bisa tsarin kammalawa, yi amfani da iyakataccen saitin futures wanda ake cika shi yayin da suke ƙarewa.
Magance gazawar cibiyar sadarwa da ake tsammani a cikin binciken idan rukuni zai ci gaba da bayar da sakamako. Ana ɗaga keɓancewar da ba a magance ba lokacin da aka ɗauki wannan abu. chunksize na ThreadPoolExecutor ba ya ba da wannan kasafin ƙaddamarwa, kuma tsofaffin nau ika na Python ba su da buffersize.