Rabbit MQのステータスを監視するためのC#コンソールアプリケーション(Windowsのスケジュールされたタスク)を作成しています。したがって、キューが停止している場合(サービス停止、接続タイムアウトなど)、通知メールを送信します。私はRabbitMQ .Netクライアント(バージョン4.1.1)を使用しました。基本的に私はCreateConnection()が成功しているかどうかをチェックしています。Rabbit MQがダウンしていないか確認してください。
private static void CheckRabbitMQStatus()
{
ConnectionFactory factory = new ConnectionFactory();
factory.Uri = "amqp://guest:[email protected]:5672/";
IConnection conn = null;
try
{
conn = factory.CreateConnection();
conn.Close();
conn.Dispose();
}
catch (Exception ex)
{
if (ex.Message == "None of the specified endpoints were reachable")
{
//send mail MQ is down
}
}
}
これは正しい方法ですか? Rabbit MQにはいくつかのツールとプラグインが用意されていますが、私はC#で簡単な解決策が必要です。
「ex」の具体的なタイプは何ですか?メッセージを比較すると、後のリリースで破損する可能性があります... –