private static async Task ConsumirOffsetAsync() { var consumer = new ConsumidorPorOffset(GerarBrokerConfig(), _consumerGroup); var cmd = string.Empty; Console.WriteLine("Consumir qual offset?"); cmd = Console.ReadLine(); long offset; if (long.TryParse(cmd, out offset)) { var watermark = consumer.BuscarOffsetsDisponiveis(_topico, _consumerGroup); if (watermark != null) { if (offset > watermark.High || offset < watermark.Low) { Console.WriteLine($"Erro: offset fora do range disponível ({watermark.Low} a {watermark.High} "); Console.ReadKey(); return; } } await consumer.Consumir(_topico, offset); } else { Console.WriteLine("Erro: offset deve ser um número."); } Console.WriteLine("Pressione qualquer tecla para continuar."); Console.ReadKey(); }
public static void BuscarOffsetsDisponiveis() { var consumer = new ConsumidorPorOffset(GerarBrokerConfig(), _consumerGroup); var watermark = consumer.BuscarOffsetsDisponiveis(_topico, _consumerGroup); if (watermark != null) { Console.WriteLine($"Os offsets disponíveis vão de #{watermark.Low} a #{watermark.High})."); } else { Console.WriteLine($"Não foi possível buscar os offsets disponíveis"); } Console.WriteLine("Pressione qualquer tecla para continuar."); Console.ReadKey(); }