Django芹菜-无法连接到amqp://guest@127.0.0.8000:5672//

2024-04-29 13:15:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在试着做姜果芹菜。我正在复习教程

http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html

当我跑的时候 $python manage.py芹菜工人——loglevel=info

我明白了

[Tasks]


/Users/msmith/Documents/dj/venv/lib/python2.7/site-packages/djcelery/loaders.py:133:     UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in     production environments!
warnings.warn('Using settings.DEBUG leads to a memory leak, never '

[2013-08-08 11:15:25,368: WARNING/MainProcess] /Users/msmith/Documents/dj/venv/lib/python2.7/site-packages/djcelery/loaders.py:133: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn('Using settings.DEBUG leads to a memory leak, never '

[2013-08-08 11:15:25,369: WARNING/MainProcess] celery@sfo-mpmgr ready.
[2013-08-08 11:15:25,382: ERROR/MainProcess] consumer: Cannot connect to     amqp://guest@127.0.0.1:5672/celeryvhost: [Errno 61] Connection refused.
Trying again in 2.00 seconds...

以前有人遇到过这个问题吗?

设置.py

# Django settings for summertime project.
import djcelery
djcelery.setup_loader()

BROKER_URL = 'amqp://guest:guest@localhost:5672/'

...

INSTALLED_APPS = {
    ...
    'djcelery',
    'celerytest'
}

wsgi.py公司

import djcelery
djcelery.setup_loader()

Tags: todjangoinpydebugsettings芹菜using
3条回答

问题是您正试图连接到RabbitMQ的本地实例。看看你的settings.py中的这一行

BROKER_URL = 'amqp://guest:guest@localhost:5672/'

如果您目前正在进行开发,那么可以避免设置Rabbit及其周围的所有混乱,只需将消息队列的开发版本与Django数据库一起使用。

为此,请将以前的配置替换为

BROKER_URL = 'django://' and add this app:

INSTALLED_APPS += ('kombu.transport.django', )

最后,启动工人

./manage.py celery worker --loglevel=info

来源:http://docs.celeryproject.org/en/latest/getting-started/brokers/django.html

我得到这个错误是因为rabbitmq没有启动。如果通过brew安装rabbitmq,则可以使用brew services start rabbitmq启动它

如果您在生产环境中工作

您必须首先安装并设置rabbitmq服务器。您可以参考rabbitmq网站了解安装步骤。

在“设置”中,必须写入以下行:

CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
BROKER_URL = 'amqp://guest:guest@localhost:5672//'

安装完rabitmq服务器之后,您必须运行这两个命令

export C_FORCE_ROOT='true'
celery -A transcoder(name of app) worker --loglevel=info

相关问题 更多 >