说我有两个芹菜任务:如何芹菜的Task.map处理错误
@celery.task
def run_flakey_things(*args, **kwargs):
return run_flakey_and_synchronous_thing.map(
xrange(10)
).apply_async()
@celery.task
def run_flakey_and_synchronous_thing(a):
if a % 5:
return a
raise RuntimeError(a)
所以,当你去跑run_flakey_things
因为序列中的第一项引发一个异常,它会翻倒直线距离。我想按照地图的顺序为以的顺序为所有项目运行任务,但继续在异常上运行,并在所有这些完成后引发新的异常。
理想的做法是,如果我能在应用之前的ON_FAILURE添加到xmap
对象,但xmap
没有出现是一个完整的任务目标。