Ich schreibe eine C# -Konsolen-App (geplante Windows-Aufgabe), um den Status von Rabbit MQ zu überwachen. Wenn die Warteschlange also nicht erreichbar ist (Dienst abgestellt, Verbindungszeitüberschreitung oder ein anderer Grund), wird eine Benachrichtigungsnachricht gesendet. Ich habe RabbitMQ .Net-Client (Version 4.1.1) verwendet. Grundsätzlich überprüfe ich, ob CreateConnection() erfolgreich ist.Überprüfen Sie, ob Rabbit MQ heruntergefahren ist
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
}
}
}
Ist dies der richtige Ansatz, um dies zu erreichen? Es gibt mehrere Tools und Plugins für Rabbit MQ, aber ich möchte eine einfache Lösung in C#.
Was ist der konkrete Typ von "ex"? Der Vergleich der Nachricht könnte in späteren Versionen brechen ... –