Python 从芹菜中的任务集_id检索GroupResult?
我正在使用芹菜组开始一组芹菜任务,如中所述 我还将组(任务集)id存储到数据库中,以便轮询芹菜的任务集状态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
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对象(即myresult
)?
类似于在中所做的,但与芹菜团体合作
我已经试过做:
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)