static async Task MainAsync(string consumerGroup) { var dao = new DataAccess.Dao(); //var msgHandler = new Business.MessageHandler(dao); var msgHandler = new DeduplicationDecorator(new Business.MessageHandler(dao), dao); var consumer = new Consumer(dao, msgHandler, consumerGroup); consumer.Subscribe(KafkaConfig.TopicName); var chunkSize = 100; while (true) { if (consumer.InProcessingMessages < chunkSize) { for (var i = 0; i < chunkSize; i++) { consumer.Poll(); } } else { await Task.Delay(1); } } }
static async Task MainAsync(string consumerGroup) { var dao = new DataAccess.Dao(); //var msgHandler = new Business.MessageHandler(dao); var msgHandler = new DeduplicationDecorator(new Business.MessageHandler(dao), dao); var consumer = new Consumer(dao, msgHandler, consumerGroup); consumer.Subscribe(KafkaConfig.TopicName); while (true) { await consumer.ConsumeProcessAndCommitAsync(); } }
static void Main(string[] args) { var consumerGroup = args.Length > 0 ? args[0] : "NEW__ASYNC_PROCESSING_AUTO_COMMIT_CONSUMER_79"; Console.WriteLine($"Consumer group: {consumerGroup}"); var dao = new DataAccess.Dao(); //var msgHandler = new MessageHandler(dao); //var msgHandler = new Business.BreakAt1000MsgDecorator(new Business.MessageHandler(dao)); var msgHandler = new DeduplicationDecorator(new Business.MessageHandler(dao), dao); var consumer = new Consumer(dao, msgHandler, consumerGroup); consumer.Subscribe(KafkaConfig.TopicName); while (true) { consumer.Poll(); } }