キューに入れられたアイテムを処理するために SQL Server Service Broker を使用するプロトタイプを作成しています。これまでのところ、物事はうまくいっています。
私がやりたいことの 1 つは、異なるプロセスまたはスレッドでキューから複数のアイテムを並行して処理できるようにすることですが、特定のユーザーが一度に 1 つのアイテムしか処理できないように処理を制限して、1 人の熱心なユーザーを防ぐことです。他のすべてを飢えさせることから。
並列スレッドでの処理は簡単です。ユーザーごとの制限はそれほど単純ではありません。最初は、会話グループ ID をユーザーの ID に設定できると考えていたので、サービス ブローカーによってグループの処理が自動的にシリアル化されます。現時点では、このオプションをうまく実装する方法を見つけていません。
これは会話グループでできることですか?サービスブローカーの有無にかかわらず、より簡単な方法はありますか? Service Broker の外部で処理する必要がありますか?
私はかなりの調査を行いましたが、すべてが一緒に実行され始めているため、明らかな何かを見逃していたら申し訳ありません.