サーバーAとサーバーBの2つのサーバーがあります。サーバーAはdjango Webアプリケーションの実行専用です。多数のデータがあるため、サーバーBでセロリのタスクを実行することにしました。サーバーAとサーバーBは共通のデータベースを使用します。タスクは、サーバーA、webappからモデルに保存後に開始されます。私のdjangoプロジェクトでrabbitmqを使用してこのアイデアを実装する方法別サーバーのDjangoセロリタスク
3
A
答えて
3
2つのサーバー、1つのプロジェクトと2つの設定(サーバーごとに1つ)があります。
サーバA(Webサーバ+ウサギ)
サーバB(労働者のための唯一のセロリ)
次に、あなたはどちらの設定で、ブローカーのURLを設定します。このようなもの:
サーバBの設定でサーバAのIPと一致するサーバ。
今のところ、任意のタスクはサーバーAから仮想サーバー/にウサギに送られなければなりません。サーバBで
、あなただけの、セロリワーカーを初期化する必要があり、このような何か:
python manage.py celery worker -Q queue_name -l info
、それのthats。
シンテシス:Djangoはタスクをキューに入れるためにウサギにメッセージを送信し、セロリの作業者はタスクを実行するメッセージを要求します。
私の英語のために申し訳ありません。
挨拶。
これは、セロリがどのように動作するのかと全く同じことです。ここでは珍しいことはありません。どこに問題がありますか? –