一尘不染

向celery队列添加n个任务,然后等待结果

django

我将向celery队列添加多个任务并等待结果。我有各种各样的想法,我将如何利用某种形式的共享存储(memcached,redis,db等)来实现这一目标,但是,我本以为Celery可以自动处理该问题,但我无法在线找到任何资源。

代码示例

def do_tasks(b):
    for a in b:
        c.delay(a)

    return c.all_results_some_how()

阅读 1008

收藏
2020-04-02

共1个答案

一尘不染

对于Celery > = 3.0,使用taskset被弃用赞成组。

from celery import group
from tasks import add

job = group([
             add.s(2, 2),
             add.s(4, 4),
             add.s(8, 8),
             add.s(16, 16),
             add.s(32, 32),
])

在后台启动组:

result = job.apply_async()

等待:

result.join()
2020-04-02