私は celery を初めて使用します。1 つのサーバーをインストールして実行する方法は知っていますが、タスクを複数のマシンに分散する必要があります。私のプロジェクトでは、セロリを使用して、Web フレームワークに渡されるユーザー リクエストを別のマシンに割り当て、結果を返します。ドキュメントを読みましたが、複数のマシンをセットアップする方法については言及されていません。私は何が欠けていますか?
質問する
25589 次
2 に答える
60
私の理解では、あなたのアプリは要求をキューイング システム (rabbitMQ など) にプッシュし、異なるマシンで任意の数のワーカーを開始できます (タスクを送信したアプリと同じコードにアクセスできます)。彼らはメッセージ キューからタスクを選択し、それらに取り掛かります。完了すると、廃棄データベースが更新されます。
この結果、複数のワーカーを開始するために特別なことをする必要はありません。別々の同一の (同じソース ツリー) マシンでそれらを起動するだけです。
メッセージ キューを持つサーバーは、ワーカーを持つサーバーと同じである必要はなく、ジョブを送信するマシンと同じである必要もありません。メッセージ キューの場所を設定するだけで、celeryconfig.py
すべてのマシンのすべてのワーカーがキューからジョブを取得してタスクを実行できます。
于 2012-04-21T17:21:18.130 に答える