加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用rpc不会保留Celery任务结果

发布时间:2020-12-20 13:09:14 所属栏目:Python 来源:网络整理
导读:我一直试图通过将结果持久化到队列来将Celery任务结果路由到另一个进程,而另一个进程可以从队列中选择结果.因此,已将Celery配置为CELERY_RESULT_BACKEND =’rpc’,但仍未将 Python函数返回值保持为队列. 不确定是否需要更改任何其他配置或代码.请帮忙. 这是
我一直试图通过将结果持久化到队列来将Celery任务结果路由到另一个进程,而另一个进程可以从队列中选择结果.因此,已将Celery配置为CELERY_RESULT_BACKEND =’rpc’,但仍未将 Python函数返回值保持为队列.

不确定是否需要更改任何其他配置或代码.请帮忙.

这是代码示例:

celery.py

from __future__ import absolute_import

from celery import Celery

app = Celery('proj',broker='amqp://',backend='rpc://',include=['proj.tasks'])

# Optional configuration,see the application user guide.
app.conf.update(
    CELERY_RESULT_BACKEND = 'rpc',CELERY_RESULT_PERSISTENT = True,CELERY_TASK_SERIALIZER = 'json',CELERY_RESULT_SERIALIZER = 'json'
)

if __name__ == '__main__':
    app.start()

tasks.py

from proj.celery import app

@app.task
def add(x,y):
    return x + y

运行芹菜作为

celery worker --app=proj -l info --pool=eventlet -c 4

解决方法

通过使用Pika(AMQP 0-9-1协议的Python实现 – https://pika.readthedocs.org)解决结果回到celeryresults渠道解决

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读