Windows Azureワーカーの役割で「緊急」メッセージを処理するための最良の方法は何ですか?
私には、開始し、無限のwhile(true)ループを実行し、このループでワーカーロールがあります。
- キューにメッセージがあるかどうかを確認するために読み取ります
- それらを処理して削除します
- メッセージがこれ以上ない場合は、最初はThread.Sleep(interval)を使用してスリープ状態になり、スリープ間隔を最大2分まで徐々に増やします。
- メッセージがキューに表示されると、スリープ間隔が0にリセットされ、ステップ1に戻ります。
問題は、ワーカーが2分間スリープしていて、キューにメッセージが表示された場合、残りの時間を待たずにワーカーをウェイクアップしたいということです。
ワーカーロールのインスタンスを取得して、ウェイクアップするように指示する方法はありますか?データベースに何かを書くことを考えましたが、同じ問題があります。これを行う役割があったとしても、すでにスリープしている他のワーカーの役割をどのように起こせばよいでしょうか。