static private async Task ProducerPerformanceTestAsync() { var configManager = CreateConfigurationManager(); var procuderFactory = new RMQProducerFactory(new RMQConnectionFactory()); var connectionSettings = configManager.GetConnectionSettings("connection"); var queueSettings = configManager.GetQueueSettings("MY_RMQ_TEST"); using (var producer = procuderFactory.CreateText(connectionSettings, queueSettings)) { while (true) { try { Console.WriteLine("Provide a command: quit, clear or a number"); var command = Console.ReadLine(); if (command == "quit" || command == "exit") { break; } if (command == "clear") { Console.Clear(); continue; } if (!int.TryParse(command, out int count) || count < 0) { Console.WriteLine("Invalid iteration number"); continue; } var sw = new Stopwatch(); sw.Reset(); sw.Start(); for (var i = 0; i < count; i++) { var data = $"Message from Ross: {i}"; await producer.SendAsync(data); } sw.Stop(); Console.WriteLine($"Done sending: {sw.ElapsedMilliseconds}"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }
static private Task ProducerAsync() { var configManager = CreateConfigurationManager(); var procuderFactory = new RMQProducerFactory(new RMQConnectionFactory()); var connectionSettings = configManager.GetConnectionSettings("connection"); var queueSettings = configManager.GetQueueSettings("MY_RMQ_TEST"); using (var producer = procuderFactory.CreateText(connectionSettings, queueSettings)) { producer.Send("test1"); producer.Send("test2"); producer.Send("test3"); producer.Send("test4"); } return(Task.CompletedTask); }
static private Task ProducerAsync() { var args = new Dictionary <string, object> { { "x-dead-letter-exchange", "" }, { "x-dead-letter-routing-key", "My.DLQ" } }; var procuderFactory = new RMQProducerFactory(new RMQConnectionFactory()); var connectionSettings = GetRMQConnectionSettings(); var queueSettings = new RMQQueueSettings("My.Queue", "My.Queue", true, false, false, true, arguments: args); using (var producer = procuderFactory.CreateText(connectionSettings, queueSettings)) { producer.Send("test1"); producer.Send("test2"); producer.Send("test3"); producer.Send("test4"); } return(Task.CompletedTask); }