首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >芹菜任务来自远程工人的“待定”,但实际上是“成功”

芹菜任务来自远程工人的“待定”,但实际上是“成功”
EN

Stack Overflow用户
提问于 2020-08-09 21:02:34
回答 1查看 154关注 0票数 1

我有两个芹菜工人在不同的服务器上。我的第一个服务器配置是:

代码语言:javascript
复制
CELERY_BROKER_URL = env.str("CELERY_URL") # amqp://<user>:<password>@host/db
CELERY_RESULT_BACKEND = env.str("RESULTS_URL") # redis://<user>:<password>@<host>
CELERY_ACCEPT_CONTENT = ["json"]
CELERY_TASK_SERIALIZER = "json"
CELERY_RESULT_SERIALIZER = "json"
CELERY_IGNORE_RESULT = False

CELERY_TASK_TRACK_STARTED = True
# I've also tried CELERY_TASK_STARTED

我的第二个服务器配置是

代码语言:javascript
复制
broker = "amqp://<user>:<password>@host/db" # same as 1st
result_backend = "redis://<user>:<password>@<host>" # same as 1st
task_track_started = True
# I've also tried task_started

在我的第二台服务器上,我也有一个任务

代码语言:javascript
复制
@app.task(name='Test_task')
def test_task():
    return 'Done!'

我使用task = app.send_task('Test_task', queue='test_queue')从我的第一台服务器调用这个任务

所以

我的麻烦是,当我试图获得这个任务状态或结果时,总是一样的

代码语言:javascript
复制
>>> task.state
'PENDING'
>>> print(task.result)
None

但是如果我在花中检查这个任务,它的状态就是成功,它的结果就完成了!

我也尝试过使用rpc://作为result_backend,但是结果还是一样的。

我的第一个芹菜工人正在流行_OS 20.04 LTS x86_64上跑

我的第二个芹菜工人正在运行Ubuntu20.04LTS aarch64

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-09 21:35:23

好吧,我太粗心了

在第二个配置中,我必须使用backend而不是result_backend

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63331287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档