private bool StoreLogsInFileAndSendEmail() { bool IsDone = false; try { SystemDetails s1 = GetSystemDetails(); LastRecordedTime = s1.PreciseTimeStamp; string systemLog = SerializeJSONData(s1); IsDone = HostFileUtility.Instance.WriteLog(systemLog); if (Internet.IsConnectionActive()) { //Consume RabbitMQ messages here somewhere. SendEmail(s1); } else { //Call RabbitMQ as message broker. using (MsgBroker.RabbitMQ Rpc = new MsgBroker.RabbitMQ()) { Rpc.MessageBrokerPublish(systemLog); } } IncrementCount(); } catch (Exception e) { throw e; } return(IsDone); }
static void Main(string[] args) { var rabbitMq = new RabbitMQ(); rabbitMq.SetUp(); var type = args[0]; type = "1"; switch (type) { case "OneWayMessaging": case "1": rabbitMq.CreateSetupForOneWayMessaging(); break; case "WorkerQueue": case "2": rabbitMq.CreateSetupForWorkerQueues(); break; case "PublishSubscribe": case "3": rabbitMq.CreateSetupForPublishSubscribe(); break; case "RPC": case "4": rabbitMq.CreateSetupForRemoteProcedureCall(); break; case "Routing": case "A1": rabbitMq.CreateSetupForRouting(); break; case "Topics": case "A2": rabbitMq.CreateSetupForTopics(); break; case "Headers": case "A3": rabbitMq.CreateSetupForHeaders(); break; case "ScatterGather": case "A4": rabbitMq.CreateSetupForScatterGather(); break; case "Serialization": case "S": rabbitMq.CreateSetupForSerialization(); break; case "MessageType": case "M": rabbitMq.CreateSetupForMessageType(); break; case "LargeBufferedMessage": case "LB": rabbitMq.CreateSetupForLargeBufferedMessage(); break; case "LargeChunkedMessage": case "LC": rabbitMq.CreateSetupForLargeChunkedMessage(); break; case "BasicRetry": case "BR": rabbitMq.CreateSetupForBasicRetry(); break; case "AdvancedRetry": case "AR": rabbitMq.CreateSetupForAdvancedRetry(); break; case "DeadLetterQueue": case "DLQ": rabbitMq.CreateSetupForDeadLetterQueue(); break; case "RoutingFailure": case "RF": rabbitMq.CreateSetupForRoutingFailure(); break; case "ScheduledDelivery": case "SD": rabbitMq.CreateSetupForScheduledDelivery(); break; default: rabbitMq.CreateSetupForOneWayMessaging(); break; } Console.WriteLine($"Setup done for {type} Exchange Pattern"); }