我正在学习如何在python下使用kafka。
我正在运行kafka服务器,正在监听mytopic
的消费者。
现在我使用confluent-kafka
编写了这段代码:
from confluent_kafka import Producer
p = Producer({'bootstrap.servers': 'localhost:9092'})
p.produce('mytopic', key='hello', value='world')
当我运行python
并粘贴该代码时(消费者正在收集)
但是如果将其保存到example.py
并运行python example.py
则不会。
任何人都明白这一点?
答案 0 :(得分:3)
从文件运行代码时,它会在最后一行之后立即终止。
要等待制作人在结束前发送所有消息,您需要致电flush()
:
p.flush()