static void GroupConsuemrTest() { var cancellationTokenSource = new CancellationTokenSource(); var consumerTasks = new List <Task>(); for (int i = 0; i < 3; i++) { consumerTasks.Add(CreateConsumerTask(i.ToString(), cancellationTokenSource)); } var producer = new EQueueProducer(brokerAddress); producer.Start(); while (true) { var message = Console.ReadLine(); if (message.Equals("q")) { cancellationTokenSource.Cancel(); Task.WaitAll(consumerTasks.ToArray()); break; } message = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff"); var queueMessage = new EQueue.Protocols.Message(topic, 1, Encoding.UTF8.GetBytes(message)); producer.Send(queueMessage, message); Console.WriteLine($"send message: {message}"); } }
private static void GroupConsuemrTest() { var consumers = new List <EQueueConsumer>(); for (var i = 0; i < 3; i++) { consumers.Add(CreateConsumer(i.ToString())); } var producer = new EQueueProducer(clusterName, NameServerList); producer.Start(); while (true) { var message = Console.ReadLine(); if (message.Equals("q")) { consumers.ForEach(consumer => consumer.Stop()); break; } message = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffffff"); var queueMessage = new Message(topic, 1, Encoding.UTF8.GetBytes(message)); while (true) { try { producer.SendAsync(queueMessage, message, CancellationToken.None) .ContinueWith(t => { Console.WriteLine($"send message: {message}"); }); break; } catch (Exception ex) { Console.WriteLine(ex.GetBaseException().Message); Thread.Sleep(2000); } } } }