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));
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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();
            }
        }
예제 #6
0
        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);
                }
            }
        }