MSMQ で Hangfire を使用しています。セットアップはこちら
- 2 台のフロントエンド サーバー (IIS 用)。これらをweb1およびweb2と呼びます。
- Hangfire Windows Service 用の 3 番目のサーバー (app1 と呼びます)
- それらの間のロードバランサー。
問題
ホスト名 ( koko.com/hangfireとしましょう) を使用して Hangfire ダッシュボードにアクセスしようとすると、メッセージは Web サーバーの MSMQ の 1 つにエンキューされます。これは、web1 または web2の送信 MSMQ メッセージで確認できます。
そのため、メッセージが送信メッセージから移動しない理由を知るために、さらに調査を行いました。
web1 の http://localhost/hangfire からダッシュボードにアクセスしただけで動作します。次に、そこからジョブをキューに入れましたが、機能しませんでした。web2で同じプロセスを繰り返すとうまくいきます!
web2 からのメッセージのエンキューが機能しているのに、web1 では機能しないのはなぜですか?! メッセージが web1送信キューにスタックしている