我正在使用芹菜组开始一组芹菜任务,如official documentation中所述。
我还将组(任务集)ID存储到数据库中,以便轮询Celley的任务集状态。
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()
this question吗? 最佳答案
是的,您必须保存结果,然后恢复它。
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)
我也遇到过同样的问题,在看到您关于保存/恢复的提示后,我终于明白了。
关于python - 从Celery的taskset_id中检索GroupResult?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13685344/