複数のワーカーがこのキューを監視している単一のジョブ キューがあります。(各ジョブは 1 人のユーザーに対応します)。任意の時点で、ユーザーごとに複数のジョブがキューにある可能性があります。
ワーカーが一度にユーザーごとに複数のジョブを処理することは望ましくありません。ユーザーのジョブは、その時点でこのユーザーを処理しているワーカーが他にいない場合にのみ、ワーカーによって選択される必要があります。ユーザーのジョブがワーカーによって処理されている場合、次のユーザーのジョブが終了したらすぐに選択されるようにしたいと思います。
ワーカーをユーザーにとらわれないようにしたい (つまり、どのワーカーもどのユーザーのジョブも処理できる必要がある)。これは、水平方向にスケーリングするのに役立ちます。
どうすればいいですか?ユーザーごとに個別のキューを作成することについて考えましたが、ワーカーは膨大な数のキューを監視する必要があり、リソースを浪費する可能性があります。現在、Beanstalkd をキュー サーバーとして使用しています。
どんな助けでも大歓迎です。