public RxKafkaConsumer(ConsumerOption option, ILogger logger)
        {
            _logger = logger;
            _topics = option.Topics;

            var config = new Dictionary <string, object>
            {
                { "bootstrap.servers", option.BrokerEndpoints },
                { "api.version.request", true },
                { "group.id", !string.IsNullOrEmpty(option.GroupId) ? option.GroupId : Guid.NewGuid().ToString() },
                { "socket.blocking.max.ms", 1 },
                { "enable.auto.commit", false },  //отключить автокоммит офсета после прочтения сообщения (ручной коммит через CommitAsync())
                { "fetch.wait.max.ms", 5 },
                { "fetch.error.backoff.ms", 5 },
                { "fetch.message.max.bytes", 10240 },
                { "queued.min.messages", 1000 },
#if DEB
                // { "debug", "msg" },
#endif
                {
                    "default.topic.config",
                    new Dictionary <string, object>
                    {
                        { "auto.offset.reset", "latest" } //(beginning) сместить офсет в конец раздела, если офсет нигде не сохранен.
                    }
                }
            };

            _consumer                 = new Consumer <Null, string>(config, new NullDeserializer(), new StringDeserializer(Encoding.UTF8));
            _consumer.OnLog          += OnLog;
            _consumer.OnError        += OnError;
            _consumer.OnConsumeError += OnConsumeError;
            _consumer.OnPartitionEOF += OnPartitionEof;
        }
 public InputDataAutofacModule(IConfigurationSection config)
 {
     BackgroundName = config["Name"];
     AutoStartBg    = bool.Parse(config["AutoStart"]);
     BatchSize      = int.Parse(config["BatchSize"]);
     ConsumerOption = new ConsumerOption
     {
         BrokerEndpoints = config["BrokerEndpoints"],
         GroupId         = config["GroupId"],
         Topics          = new List <string> {
             config["Topics"]
         }
     };
 }
Exemplo n.º 3
0
 public Consumer(ConsumerOption consumerOption)
 {
     _consumerOption = consumerOption;
     _context        = new TContext();
 }
Exemplo n.º 4
0
 /// <summary>
 /// consumer option
 /// </summary>
 public void SelectConsumerOption()
 {
     ConsumerOption.Wait(3).Click();
 }