Python confluent_kafka: потребление (0) не может вызывать обратные вызовы - PullRequest
0 голосов
/ 28 февраля 2020

Я использую 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, оно не вызывается.

В этом случае rk_rep может становиться все больше и больше.

Как вызвать stats_cb в Consumer_consume(0)? Спасибо

1 Ответ

0 голосов
/ 04 мая 2020

Обратные вызовы обслуживаются с rd_kafka_q_serve_rkmessages(): https://github.com/edenhill/librdkafka/blob/b50e247b77864c595569f7f7e9ec8dde63258210/src/rdkafka_queue.c#L574

Если вы не видите, что ваш stats_cb запущен, убедитесь, что statistics.interval.ms имеет ненулевое значение значение.

...