Django Celery RabbitMQ 连接由对等方重置

Django Celery RabbitMQ Connection reset by peer

我是 celery 的新手,我遵循了 django/celery 教程。我正在使用 rabbitmq。我有一个使用芹菜的简单函数:

from celery.decorators import task

@task
def test_celery(x, y):
    print x + y
    return None

当我 运行 它与 delay 它不起作用时,它给了我一个 "connection reset by peer":

test_celery.delay("one ", "dos")

我在另一个终端 运行ning rabbitmq,如果我这样做

sudo rabbitmqctl list_users

我明白了

alejoss []
guest   [administrator]

我的 BROKER_URL 看起来像这样:

BROKER_URL = "amqp://alejoss:password@localhost://"

我错过了什么。我是 Celery 的新手...请帮忙。

根据您的调试反馈,我认为您为自己设置的用户存在身份验证问题。您可能想在此处阅读有关访问控制的更多信息 (https://www.rabbitmq.com/access-control.html)。

听起来可能是权限问题。

这是给你的剧透,以防文档一开始太混乱:)

sudo rabbitmqctl set_permissions -p alejoss /  ".*" ".*" ".*"

新手的 RabbitMQ 陷阱是默认情况下新创建的用户具有 NO 权限。