1 つの Web ロールと 1 つの worker ロール インスタンスで構成される Web アプリケーションがあります。Webrole は基本的に、いくつかの BLOB を BLOB ストレージに集約し、ワーカーが来て、保存されたファイルをスイープして処理します。
問題は、2 つのワーカー ロール インスタンスを使用した場合、処理が成功した場合にのみ BLOB が削除されるため、結果が重複する可能性があることです。これを回避するために、Hangfire を使用することにしました。
私が計画しているのは、Web ロールが要求を受け取ったときに、ファイルを BLOB ストレージに保存するだけでなく、そのファイルの処理タスクをキューに入れることです。その後、Hangfire ワーカー スレッドがそれを処理します。
これにより、別の疑問が生じます: hangfire をどこに展開すればよいですか?
Hangfire を Web ロール インスタンスにデプロイすると、IIS があるため UI にアクセスできますが、バックグラウンド処理に使用されるリソースを Web ロール自体から分離することはできません。これを worker ロール インスタンスにデプロイすると、IIS がないため、UI を提供できなくなります。
Web ロール インスタンスにタスクを起動させ、ワーカー インスタンスにそれらを探して消費させる方法はありますか? もしそうなら、どのように?