Celery任务结果未使用rpc持久化



我一直在尝试将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作为

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

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

相关内容

  • 没有找到相关文章

最新更新