我注意到传递调用Consumer.commit(msg=None)是一个有效的情况。至少它是在库的代码中单独处理的。我想知道这样做和使用"msg“参数的最后一条读消息调用Consumer.commit有什么区别。
它看起来几乎是一样的,但是为什么在examples/integration_test.py中的所有测试中总是显式地通过这个参数?
发布于 2017-11-22 02:21:01
https://github.com/confluentinc/confluent-kafka-python/issues/277
Magnus Edenhill回答:
参数-less commit()将为当前赋值提交所有未提交的偏移量。 Python集成测试主要是通过一个活动代理环境来验证API,实际的kafka客户端测试驻留在librdkafka的构建树中,并且要详细得多。librdkafka (使用此Python客户端)还在夜间工作中运行完整的标准Apache客户端系统测试套件。
https://stackoverflow.com/questions/47216827
复制相似问题