gpt4 book ai didi

python - paho-mqtt 订阅一次性消息

转载 作者:行者123 更新时间:2023-12-05 01:12:46 27 4
gpt4 key购买 nike

有没有一种优雅的方法可以从代理中提取一条消息而不必:

  1. 订阅
  2. 创建一个 on_message()
  3. 接收消息
  4. 退订

我问是因为我们使用了一个包含多个字段的 json 消息。当新数据进入时,我只想更新 json 消息中的特定字段,但不删除其余数据。由于我们有大量的这些 json 主题,我们真的不想将它们全部保存在程序内存中(即使程序必须重新启动)。最重要的是,这个程序可以在没有监督的情况下运行数月。

因此,理想情况下,我想将 json 消息发布到 ID 主题,并将保留标志设置为 True。然后,当该 ID 的新数据进入时,我会拉取有关该主题的信息,更新 json 消息中的特定字段并重新发布到同一主题。

我可以发布示例代码,但我希望有一个我不知道的简单函数。

提前感谢您的任何建议。

最佳答案

Paho Python 客户端带有一组帮助类,可以为您执行这种单次模式。

文档 here

例如以下连接到代理,订阅主题并在收到关于该主题的第一条消息时返回。

import paho.mqtt.subscribe as subscribe

msg = subscribe.simple("paho/test/simple", hostname="mqtt.eclipse.org")
print("%s %s" % (msg.topic, msg.payload))

以及匹配的发布调用:

import paho.mqtt.publish as publish

publish.single("paho/test/single", "payload", hostname="mqtt.eclipse.org")

关于python - paho-mqtt 订阅一次性消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61547969/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com