Я использую confluent-kafka- python и librdkafka .
Но я думаю, confluent_kafka.Consumer.consume (0) не может вызвать stats_cb.
Consumer_consume (0) => rd_kafka_consume_batch_queue => rd_kafka_q_serve_rkmessages
In * вызывается в while (cnt < rkmessages_size) loop. Если rkmessages_size равно 0, оно не вызывается.
while (cnt < rkmessages_size) loop
rkmessages_size
В этом случае rk_rep может становиться все больше и больше.
rk_rep
Как вызвать stats_cb в Consumer_consume(0)? Спасибо
Consumer_consume(0)
Обратные вызовы обслуживаются с rd_kafka_q_serve_rkmessages(): https://github.com/edenhill/librdkafka/blob/b50e247b77864c595569f7f7e9ec8dde63258210/src/rdkafka_queue.c#L574
rd_kafka_q_serve_rkmessages()
Если вы не видите, что ваш stats_cb запущен, убедитесь, что statistics.interval.ms имеет ненулевое значение значение.
statistics.interval.ms