Kafka python consumidor leyendo todos los mensajes cuando se inicia

Estoy usando el siguiente código para leer los mensajes de un tema. Estoy enfrentando dos problemas. Cada vez que comienzo a consumidor, ¿está leyendo todos los mensajes en la cola? ¿Cómo leer solo los mensajes no leídos?

from kafka import KafkaConsumer consumer = KafkaConsumer('my-topic', group_id='my-group', bootstrap_servers=['localhost:9092']) for message in consumer: consumer.commit() # message value and key are raw bytes -- decode if necessary! # eg, for unicode: `message.value.decode('utf-8')` print ("%s:%d:%d: key=%s value=%s" % (message.topic, message.partition, message.offset, message.key, message.value)) 

Como dijo @Kenji, debes comprometer las compensaciones con consumer.commit() . Si no desea realizar la confirmación manualmente, puede habilitar la confirmación automática pasando enable_auto_commit=True a su KafkaConsumer . También es posible que desee ajustar auto_commit_interval_ms que es el intervalo en milisegundos entre cada confirmación automática. Consulte aquí: http://kafka-python.readthedocs.org/en/master/apidoc/KafkaConsumer.html .