Python 从芹菜中的任务集_id检索GroupResult?

Python 从芹菜中的任务集_id检索GroupResult?,python,celery,celery-task,Python,Celery,Celery Task,我正在使用芹菜组开始一组芹菜任务,如中所述 我还将组(任务集)id存储到数据库中,以便轮询芹菜的任务集状态 job = group([ single_test.s(1, 1), single_test.s(1, 2), single_test.s(1, 3), ]) result = job.apply_async() test_set = MyTestSet() test_set.taskset_id = result.id # s

我正在使用芹菜组开始一组芹菜任务,如中所述

我还将组(任务集)id存储到数据库中,以便轮询芹菜的任务集状态

job = group([
        single_test.s(1, 1),
        single_test.s(1, 2),
        single_test.s(1, 3),
    ])

result = job.apply_async()

test_set = MyTestSet()
test_set.taskset_id = result.id

# store test_set into DB
是否有一种方法可以从任务集id开始获取GroupResult对象(即my
result
)? 类似于在中所做的,但与芹菜团体合作

我已经试过做:

r = GroupResult(taskset_id)
但是它不起作用,因为
r.results()
总是空的


我是否应该使用
GroupResult.save()
GroupResult.restore()

是的,您必须保存结果,然后还原它

job = group([
    single_test.s(1, 1),
    single_test.s(1, 2),
    single_test.s(1, 3),
])
result = job.apply_async()
result.save()

from celery.result import GroupResult
saved_result = GroupResult.restore(result.id)
我也遇到了同样的问题,在看到您关于保存/还原的提示后,我最终找到了答案。

在芹菜4.1.0(latentcall)中,您必须将应用程序实例传递给还原方法:GroupResult.restore(result.id,app=group.app)