to_ck/v2/consumer.py
2021-10-26 20:35:54 +08:00

25 lines
600 B
Python

from kafka import KafkaConsumer
from kafka import TopicPartition
from settings import settings
__all__ = 'create_consumer',
def create_consumer(partition: int = -1):
c = KafkaConsumer(**settings.KAFKA_CONSUMER_CONF)
def consumer():
if partition > -1:
c.assign([TopicPartition(settings.SUBSCRIBE_TOPIC, partition)])
else:
c.subscribe([settings.SUBSCRIBE_TOPIC])
for msg in c:
# print(msg)
yield msg
# topic = msg.topic
# val = msg.value
# yield topic, val
return consumer, c