无法将 Celery 连接到 Windows 服务器上的 RabbitMQ

Cannot connect Celery to RabbitMQ on Windows Server

我正在尝试设置 rabbitMQ 以用作 Celery 的消息代理。我正在尝试在 Windows Server 2012 R2 上进行设置。使用应用程序菜单上的 RabbitMQ 启动服务启动 rabbitMQ 服务器后,我尝试使用命令启动 celery 应用程序。

celery -A proj worker -l info

执行上述命令后出现以下错误。

[2018-01-09 10:03:02,515: ERROR/MainProcess] consumer: Cannot connect to amqp://
guest:**@127.0.0.1:5672//: [WinError 10042] An unknown, invalid, or unsupported
option or level was specified in a getsockopt or setsockopt call.
Trying again in 2.00 seconds...

因此,我尝试通过检查 RabbitMQ 服务器的状态进行调试,为此我进入 RabbitMQ 命令提示符并键入 rabbitmqctl status,得到以下响应。

这些是我用来启动 RabbitMQ 和 RabbitMQ 命令行的服务

这是我的 Celery Django 设置。我尝试在主机前后放置端口和用户名,但同样的错误。

CELERY_BROKER_URL = 'amqp://localhost//'
CELERY_RESULT_BACKEND = 'amqp://localhost//'

这里有什么问题?如何查看RabbitMQ服务是否启动?我需要在 Django 设置文件中进行什么设置。

我遇到了同样的问题。根据 py-amqp:

中的未解决问题,最终将 amqp 降级到 2.1.3

https://github.com/celery/py-amqp/issues/130

  1. 使用 pip uninstall amqp
  2. 卸载 amqp
  3. 使用 pip install -Iv amqp==2.1.3
  4. 安装 amqp