【发布时间】:2020-04-02 06:38:48
【问题描述】:
我正在使用基于 Python 的 paho mqtt 客户端将数据发布到 mosquitto mqtt 代理。
让我们假设一个场景,当客户端想要发布消息并且代理断开连接。
因此,基于 python 的客户端对象在 _out_message(有序字典)中缓冲该消息,并不断重试发送消息。
我想知道,
- mqtt 客户端会缓冲多长时间?
- 是否有任何时间限制或重试限制,超过此时间客户端将丢弃消息。
我想转储/记录此类消息。
【问题讨论】:
-
你试过看源代码吗?
-
我已经完成了一定程度的代码演练,但在删除缓冲消息方面没有任何线索?这就是我发布这个问题的原因?
-
@barny,如果您对此有任何信息,请分享您的知识或请指导我访问正确的论坛/地点
-
我的知识水平和你完全一样。源似乎显示:a)
out_messages队列仅用于 qos 1,2; b) 未确认消息的重试没有明显的过期时间。但请随时自行检查。对于您使用客户端正确处理on_disconnect()回调和发布调用返回的值很重要,因为队列绝不是无限的。