說我有兩個芹菜任務:如何芹菜的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
沒有出現是一個完整的任務目標。