相关疑难解决方法(0)

在Celery中通过id检索任务结果

我试图检查已完成的任务的结果. 这有效

from proj.tasks import add
res = add.delay(3,4)
res.get()
7
res.status
'SUCCESS'
res.id
'0d4b36e3-a503-45e4-9125-cfec0a7dca30'
Run Code Online (Sandbox Code Playgroud)

但我想从另一个应用程序运行它.所以我重新运行python shell并尝试:

from proj.tasks import add
res = add.AsyncResult('0d4b36e3-a503-45e4-9125-cfec0a7dca30')
res.status
'PENDING'
res.get() # Error
Run Code Online (Sandbox Code Playgroud)

如何检索结果?

celery

26
推荐指数
2
解决办法
2万
查看次数

从Celery的taskset_id中检索GroupResult?

我正在使用官方文档中描述的芹菜组开始一组芹菜任务

我还将组(taskset)id存储到db中,以便轮询celery以获取任务集状态.

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
Run Code Online (Sandbox Code Playgroud)

有没有办法result从任务集ID开始获取GroupResult对象(即我的)?像这个问题所做的事情,但与芹菜组合作.

我已经尝试过:

r = GroupResult(taskset_id)
Run Code Online (Sandbox Code Playgroud)

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

我应该使用GroupResult.save()GroupResult.restore() 方法吗?

python celery celery-task

9
推荐指数
1
解决办法
3194
查看次数

标签 统计

celery ×2

celery-task ×1

python ×1