【发布时间】:2018-05-01 14:57:08
【问题描述】:
我正在使用 samples/basicPubSub/basicPubSub.py 中的示例和useWebsocket=True
我有一些文件my_test_file.py,我在其中 connect() 和 subscribe() 带有消息回调。假设回调只是写入某个日志文件。我怎样才能让这个文件一直运行,这样如果我从其他地方发布,今天,明天,一年后 - 这个日志文件会不断被写入消息?
from AWSIoTPythonSDK.MQTTLib import AWSIoTMQTTClient
client = AWSIoTMQTTClient('client_id', useWebsocket=True)
client.configureEndpoint('host', port)
client.configureCredentials('path to cert')
client.configureAutoReconnectBackoffTime(1, 32, 20)
client.configureOfflinePublishQueueing(-1)
client.configureDrainingFrequency(2)
client.configureConnectDisconnectTimeout(10)
client.configureMQTTOperationTimeout(5)
client.connect()
client.subscribe('topic name', 1, _some_callback_func)
while True:
time.sleep(1)
在my_test_file.py 的末尾有一个无限循环是唯一的方法吗?使用无限while循环,我运行文件,它是一个阻塞进程,但它是无限订阅的。它是系统服务和这个无限循环的组合吗?我在 Paho MQTT 客户端看到了一些loop_forever() 方法,aws iot mqtt 客户端有类似的吗? loop_forever() 只是实现了一个无限的while循环吗?
【问题讨论】:
-
发布更多代码。
标签: infinite-loop mqtt publish-subscribe aws-iot