我通过使用official documentation中描述的celery组启动了一组celery任务
我还将组(任务集) 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对象(即我的result)?类似于在this question中所做的事情,但与芹菜组一起工作。
我已经尝试过了:
r = GroupResult(taskset_id)但它不起作用,因为r.results()始终为空。
我应该使用GroupResult.save()和GroupResult.restore() methods吗
发布于 2013-01-07 03:57:07
是的,你必须保存结果,然后恢复它。
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)我也有同样的问题,在看到你关于保存/恢复的提示后,我最终解决了这个问题。
https://stackoverflow.com/questions/13685344
复制相似问题