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