55

Django-Celery をセットアップしようとしています。チュートリアルを進めています

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

$ python manage.py celery worker --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()
4

8 に答える 8

33

2022 年 1 月更新: この回答は古くなっています。コメントで提案されているように、このリンクを参照してください

問題は、RabbitMQ のローカル インスタンスに接続しようとしていることです。あなたのこの行を見てくださいsettings.py

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

現在開発に取り組んでいる場合は、Rabbit のセットアップとその周りのすべての混乱を回避し、Django データベースでメッセージ キューの開発バージョンを使用することができます。

これを行うには、以前の構成を次のように置き換えます。

BROKER_URL = 'django://'

...そしてこのアプリを追加します:

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

最後に、ワーカーを次のように起動します。

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

ソース: http://docs.celeryproject.org/en/latest/getting-started/brokers/django.html

于 2013-12-16T17:55:22.217 に答える
23

が開始されていないため、このエラーが発生rabbitmqしました。brewでインストールした場合は、次rabbitmqを使用して起動できますbrew services start rabbitmq

于 2016-10-20T14:32:55.200 に答える
4

本番環境で作業している場合、

まず、rabbitmq サーバーをインストールしてセットアップする必要があります。インストール手順については、rabbitmq の Web サイトを参照してください。

設定では、次の行を記述する必要があります。

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

すべてのrabitmqサーバーのセットアップ後、この2つのコマンドを実行する必要があります.

export C_FORCE_ROOT='true'
celery -A transcoder(name of app) worker --loglevel=info
于 2014-12-20T10:11:50.737 に答える