まわ

勉強したことや遊びのこと

Celeryのエラー「consumer: Cannot connect to redis://redis:6379/0: Error 8 connecting to redis:6379. nodename nor servname provided, or not known..」の解決法

コメント

Djangoで非同期処理(メールを徐々に送りまくる、大量の投稿を徐々に投稿していく等)ならCelery(セロリ)ということで試してみました。便利そうです。

参考記事

CeleryDjangoは次の記事でできます^^ 大変参考になりました、ありがとうございます!

qiita.com

Celery公式でもDjangoサンプルがある。(ちょっと設定が自分が動いたのと異なる・・・)

github.com

エラーが・・・

[2018-04-12 05:01:00,059: ERROR/MainProcess] consumer: Cannot connect to redis://redis:6379/0: Error 8 connecting to redis:6379. nodename nor servname provided, or not known..
Trying again in 4.00 seconds...

これは、単にRedisを起動してなかったからでした・・・^^; なーんだ・・・

Celeryを使うときはターミナル3つ同時に使います。

一応全部仮想環境から実行しました。
(hoge_env)$python manage.py runserver 
#をやるターミナル@manage.pyあるディレクトリ

(hoge_env)$celery -A [プロジェクト名] worker -l info 
#をやるターミナルを別途立ち上げ@manage.pyあるディレクトリ($python manage.py runserver と同じ仮想環境)

$redis-server 
#をやるターミナルを別途立ち上げ@どこでも