我的代码在特定时间发布到主题列表。我在本地运行此程序,但有时它不会做出应有的反应。一旦我停靠它,它只发布到第一个主题。任何帮助都将不胜感激
def connector():
port = 1833
msg = {'state': "off"}
client1 = paho.Client("shutdown_client")
client1.on_publish = on_publish
client1.connect(brok, port=1883)
sleep(5)
print("connected")
for topic in sub:
ret = client1.publish(topic, orjson.dumps(msg))
def on_publish(client, userdata, result):
print("shutting down office:", result)
pass
def main():
scheduler = BackgroundScheduler()
scheduler.start()
print(scheduler)
trigger = CronTrigger(
year="*", month="*", day="*", hour="*", minute="*", second="00"
, timezone='Europe/Amsterdam')
scheduler.add_job(
connector,
trigger=trigger,
name="daily shutdown",
)
while True:
sleep(5)
if __name__ == "__main__":
main()发布于 2021-08-30 17:44:05
您尚未启动Paho的客户端network loop,如果没有它,将不会发送大于网络MTU的消息。
您似乎也从未关闭过客户端,因此它会在每次运行时泄漏客户端。
https://stackoverflow.com/questions/68986230
复制相似问题