一部の操作をセロリタスクに委任するアプリケーションがあります。一部のパラメーターに応じて、操作は異なるワーカーによって実行される必要があります。キューを使用してこれを実装することを考えました。私の考えは次のとおりです。
- クライアントは特定のメッセージからアクションを要求します
queue1
worker1
(専任責任者queue1
) が既にアクティブな場合、要求を処理します。- ワーカーがリッスンしていない場合は
queue1
、キャッチオール ワーカー (worker-main
) がインスタンス化されますworker1
。リクエストは に転送されworker1
ます。 worker1
しばらく使用しないとシャットダウンします
私のセロリの理解は限られており、いくつか質問があります。
worker-main
セロリに実装するにはどうすればよいですか? : これはすべてのキューをリッスンするワーカーですが、他のワーカーよりも優先度が低くなります。つまり、リクエストが他のワーカーによって取得されない場合にのみ機能します。- はどのように
woker-main
作成しますworker1
か? クリエーターになると、 ?よりも優先度が高く、worker1
に関連付ける必要があります。queue1
worker-main
worker-main
からにリクエストを転送できますworker1
か? 返信はクライアントに直接送信する必要があります。worker1
シャットダウンできますか?
以下の画像で、実装しようとしているアーキテクチャのグラフィカルな説明を確認できます。