是否有可能委托芹菜任务并阻止所有处理?

时间:2017-07-25 21:15:48

标签: django celery

我有这个任务:

@app.task(name='somesmalltask')
def some_small_task(some_input):
   some_list = []
   #do something to some_list
   return some_list

是否可以执行以下操作:

all_results = map(lambda x: some_small_task.delay(x), inputs)
#do stuff later to all_results

但我不想返回芹菜任务,而是希望得到结果。

我是否必须为每个任务ID做这样的事情?

result = some_small_task.AsyncResult(task_id)
result.get()

1 个答案:

答案 0 :(得分:2)

如果要将多个任务作为一个组启动,可以执行以下操作:

purrr

它同时处理任务并使用join()返回结果,等待最后一个任务结束。

有关群组和其他工作流程的更多信息here