Celery 无法连接到 RabbitMQ 服务器

Celery cannot connect to RabbitMQ server

我正在尝试 运行celery,它无法连接到 RabbitMQ 服务器,即使我已经正确设置了用户、vhost 并分配了适当的标签

celery -A proj worker -l info

以上命令returns错误

[2021-09-28 18:05:37,649: ERROR/MainProcess] consumer: Cannot connect to amqp://test:**@12:5672//: timed out.
Trying again in 2.00 seconds... (1/100)

我已经初始化了芹菜应用程序如下

app = Celery('proj',
             broker=f'amqp://test:test@12#4@localhost/test_vhost')

我认为这不起作用,因为密码 test@12#4 中包含特殊字符 @#

如何在不更改密码的情况下使其工作。


抱歉,无法使用带有“@”字符的此类密码,这已经是 Celery 的一个已知问题,原因是 urllib3 解析功能。唯一的解决方法是从密码中删除此类字符。

参考请查看对应的github问题here

这个问题可以使用转义序列来解决。

问题不在于 @ 字符,而在于 #

因此,如果您的密码是 test@12#4,您可以简单地使用 # 字符的转义序列,即 %23

密码可以写成test@12%234