Paho发布在Docker上的第一个主题之后停止



我的代码在特定时间发布到主题列表。我在本地运行这个,它有时不反应,因为它应该。一旦我将它停靠,它只发布到第一个主题。如有任何帮助,不胜感激

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()

您还没有启动Paho的客户端网络循环,否则它不会发送大于网络MTU的消息。

您似乎从未关闭客户端,因此每次运行时都会泄漏客户端。

最新更新