在python中从多处理引发错误
我有一些并行运行任务的代码:在python中从多处理引发错误,python,exception,parallel-processing,Python,Exception,Parallel Processing,我有一些并行运行任务的代码: procs = [] for task in tasks: procs.append(multiprocessing.Process(target=foo, args=(task,))) procs[-1].start() for proc in procs: proc.join() 我想添加foo()抛出我定义的TaskFailError的功能。我希望此错误最终终止程序,因此我将在上面的代码中重新验证它,但我希望允许其他任务先完成。我不知
procs = []
for task in tasks:
procs.append(multiprocessing.Process(target=foo, args=(task,)))
procs[-1].start()
for proc in procs:
proc.join()
我想添加foo()抛出我定义的TaskFailError的功能。我希望此错误最终终止程序,因此我将在上面的代码中重新验证它,但我希望允许其他任务先完成。我不知道该怎么做。我考虑过这样的事情:
procs = []
try:
for task in tasks:
procs.append(multiprocessing.Process(target=foo, args=(task,)))
procs[-1].start()
for proc in procs:
proc.join()
except TaskFailError as err:
for proc in procs:
proc.join()
raise err
但重复代码是一个危险信号,如果第二个进程也引发错误,又会发生什么呢