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

Ide*_*REX 32 python django celery

我正在尝试建立Django-Celery.我正在阅读教程

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

当我运行$ python manage.py celery worker --lvelvel = 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...
Run Code Online (Sandbox Code Playgroud)

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

settings.py

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

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

...

INSTALLED_APPS = {
    ...
    'djcelery',
    'celerytest'
}
Run Code Online (Sandbox Code Playgroud)

wsgi.py

import djcelery
djcelery.setup_loader()
Run Code Online (Sandbox Code Playgroud)

gee*_*oid 24

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

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

如果您目前正在开发中,可以避免设置Rabbit及其周围的所有混乱,只需使用Django数据库的开发版本的Message Queue.

通过替换以前的配置来执行此操作

BROKER_URL ='django://'并添加此应用:

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

最后,启动工作人员

./manage.py芹菜工人--loglevel = info

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

  • 哇,教程完全忽略了这一点. (2认同)
  • 链接已过期 (2认同)
  • 以前版本的 Celery 需要一个单独的库才能与 Django 一起使用,但从 3.1 开始,情况不再如此。现在支持 Django [链接](https://docs.celeryproject.org/en/latest/django/first-steps-with-django.html#using-celery-with-django) (2认同)

xia*_*lin 16

我收到此错误,因为rabbitmq没有启动.如果您rabbitmq通过brew 安装,您可以使用它启动它brew services start rabbitmq


Ami*_*r.S 5

您可以将这些行添加到 settings.py 中:

CELERY_BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
Run Code Online (Sandbox Code Playgroud)

并运行:

celery -A yourProjectName worker -l info
Run Code Online (Sandbox Code Playgroud)