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

Paho publishing stops after first topic on Docker

我的代码在特定时间发布到主题列表。我 运行 在本地进行此操作,但它有时不会做出应有的反应。一旦我对它进行 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 的客户端 network loop,没有它不会发送大于网络 MTU 的消息。

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