2016-04-05 10 views
2

今日の私の読書から、私が見つけたすべての例では、セロリがDjangoとは全く別の容器に入っている場所は見当たりませんでした。 Celery と同じコンテナにあるように見えます。アプリのソースファイルを歩き、tasks.pyと初期celery.pyを探します。これは間違っていますか?Djangoとは別のコンテナでCeleryを実行できますか?

たとえば、 Django、Nginx、Postgres、およびストレージコンテナをスピンアップするためにdocker-composeを使用することに精通しています。私はセロリとrabbitmqコンテナを追加することを前提としていましたが、リモートCeleryサーバーを使用するようにDjangoを設定する方法はありません。

私はまだセロリを理解していますが、これは私が他で見落としたことではないと思います。

おかげで、デフォルトでは
-p

+0

docker-compose djangoセロリを検索すると、Web上にいくつかの例があります:https://www.syncano.io/blog/configuring-running-django-celery-docker-containers-pt-1/私は質問を理解していません – dkarchmer

+0

私はその記事を読んだことがあります。それはかなり古く(イチジクと南部を指しています)、セロリが同じ容器で動かなければならないかどうかは分かりません。しかし、返事に感謝します。 – Patrick

+2

基本的に同じです。同じコードを実行する必要があるので、同じイメージを使用しますが、docker-composeで 'command'と' environment'文を使用して普通のdjangoと1つをセロリとして実行してください – dkarchmer

答えて

1

は、それはあなたがHerokuのを使用している場合、それは要求に応答するジャンゴのためのウェブダイノを実行して起こるものだ、とセロリのための他の労働者ダイノ、各ダイノは、上で実行します別のインスタンス。

両方のDynosが同じコードを実行するため、セロリのワーカーはモデルにアクセスする必要があり、1つのコードベースを管理/展開するのは簡単ですが、各インスタンスごとに異なるコードベースを使用するのを止めるものはありません。 DjangoとCeleryはAMQPプロトコルを使ってReddisのようなブローカーを投げます。

関連する問題