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; var isFirstTime = true; while (true) { if (consumer.InProcessingMessages == 0) { if (!isFirstTime) { await consumer.CommitAsync(); } for (var i = 0; i < chunkSize; i++) { consumer.Poll(); } isFirstTime = false; } else { await Task.Delay(1); } } }
static 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); return(consumer.SubscribeAsync(KafkaConfig.TopicName)); }
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.ConsumeProcessAndCommitBatchAsync(100); } }
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 Task.Run(() => { PollChunk(consumer); }); await Task.Delay(1); } }
static void Main(string[] args) { var consumerGroup = args.Length > 0 ? args[0] : "NEW__SYNC_PROCESSING_SYNC_COMMIT_CONSUMER_12"; Console.WriteLine($"Consumer group: {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) { consumer.Poll(); } }
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 = 10; var chunkIndex = 0; while (true) { consumer.Poll(); if (chunkIndex++ == chunkSize) { chunkIndex = 0; await Task.Delay(1); } } }