我正在使用芹菜组开始一组芹菜任务,如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对象(即myresult)?
有点像《美国药典》中的做法,但与芹菜组合作。
我已经试过了:
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/

10-13 06:51