【问题标题】:When does a delivery callback called with an error in confluent kafka client?何时在融合的 kafka 客户端中调用传递回调并出现错误?
【发布时间】:2021-08-31 01:16:58
【问题描述】:

Confluent Kafka 库(在本例中为 python 版本)有一个 producer 方法,该方法接受一个传递回调函数:

kafka_producer.produce(topic=topic,
                            key=key,
                            value=value,
                            on_delivery=delivery_callback)

无论消息是否成功传递,都会调用此回调:

def delivery_callback(err, msg):

我想知道这个传递回调调用出错的场景是什么?我试图关闭 kafka 代理服务器,然后生成并刷新消息。仍然没有调用回调并出现错误,而是下次我在运行 Kafka 代理的情况下刷新时,前一条消息的成功传递回调首先出现。

那么我怎样才能有错误回调呢?

【问题讨论】:

    标签: python apache-kafka confluent-platform confluent-kafka-python


    【解决方案1】:

    向主题生成消息。这是一个异步操作,应用程序可以使用回调(别名 on_delivery)参数传递一个函数(或 lambda),当消息已成功传递或永久传递失败时,该函数将从 poll() 调用。


    目前返回回调的消息不支持消息头。 msg.headers() 将返回 None,即使原始消息已设置标题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-17
      • 2020-11-19
      • 2015-11-14
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多