gpt4 book ai didi

python - 无法看到在 celery-rabbitMQ 组合中执行的任务的输出消息

转载 作者:太空宇宙 更新时间:2023-11-04 04:13:36 27 4
gpt4 key购买 nike

我正在尝试将 celery 和 rabbitMQ 组合用于异步任务调度,下面是我在 Pycharm IDE 上尝试的示例程序....一切似乎都在工作,但我看不到任务的返回值。

我也在监控rabbitMQ管理控制台,但是还是看不到任务的返回值。

我不明白我哪里出错了,这是我第一次尝试 celery 和 RabbitMQ

我创建了一个包含 2 个示例任务(分配了适当的装饰器)并为每个任务返回一个值的 tasks.py 文件。

我还启动了 RabbitMQ 服务器(使用 {rabbitmq-server start} 命令)。

然后我启动了 celery worker,使用命令:{celery -A tasks --loglevel=info}

现在,当我尝试使用 delay() 方法执行这些任务时,命令 ({reverse.delay('andy')}) 正在运行,我得到了类似这样的东西,但我看不到返回值。

from celery import  Celery

app = Celery('tasks', broker= 'amqp://localhost//', backend='rpc://')

@app.task
def reverse(string):
return string[::-1]

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

最佳答案

好吧,我已经弄清楚了这个问题...它表明最新版本的 celery 与 Windows 不兼容。为了解决这个问题,我安装了“eventlet”包,剩下的由它来处理。

需要注意的是,我们需要使用 eventlet 支持启动 celery worker,PFB 命令:

celery -A <module_name> worker -loglevel=info -P eventlet

关于python - 无法看到在 celery-rabbitMQ 组合中执行的任务的输出消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55886263/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com