【发布时间】:2014-12-12 11:17:16
【问题描述】:
我在 DeferredList 中有一些任务,有时工作人员可能会抛出一些错误。如何停止DeferredList中的所有Deferrs?如果工人出了问题
def worker(word): #can throw Exception return word.upper() def worker_err(error): #todo: stop all deffered in list return 0 def processing(words): workers_list = [] for word in words: workers_list.append(threads.deferToThread(worker, words).addErrback(worker_err)) return defer.DeferredList(workers_list) words = ['abc', 'test string', 'test'] d = processing(words)
【问题讨论】: