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://[email protected]:5672/celeryvhost: [Errno 61] Connection refused.
Trying again in 2.00 seconds...
誰も以前にこの問題に遭遇したことがありますか?
settings.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()
問題は、RabbitMQのローカルインスタンスに接続しようとしていることです。 settings.py
BROKER_URL = 'amqp:// guest:guest @ localhost:5672 /'
現在開発に取り組んでいる場合は、Rabbitとその周辺のすべての混乱をセットアップせずに、Djangoデータベースで開発版のMessage Queueを使用するだけです。
これを行うには、以前の構成を次のように置き換えます。
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
rabbitmq
が開始されなかったため、このエラーが発生しました。 rabbitmq
をbrewでインストールした場合は、brew services start rabbitmq
を使用して起動できます
実稼働環境で作業している場合、
まず、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