ProcessPoolExecutor.map
创建迭代器时,必须使用迭代器才能获取异常,否则将丢弃该异常。
from concurrent.futures import ProcessPoolExecutor
def raising_func(val):
raise ValueError(val)
with ProcessPoolExecutor(4) as pool:
pool.map(raising_func, [1,2,3,4,5])
with ProcessPoolExecutor(4) as pool:
list(pool.map(raising_func, [1,2,3,4,5])) # < ---- exception is thrown from here