Я использую пример из Samples/basicPubSub/basicPubSub.py с useWebsocket=True
У меня есть файл my_test_file.py
, в котором я подключаюсь() и подписываюсь() с обратным вызовом сообщения. Допустим, обратный вызов просто пишет в какой-то файл журнала. Как я могу сделать так, чтобы этот файл всегда работал, чтобы, если я опубликую откуда-то еще, сегодня, завтра, через год - в этот файл журнала постоянно записывалось сообщение?
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)
Является ли бесконечный цикл while в конце my_test_file.py
единственным способом? С бесконечным циклом while я запускаю файл, и это блокирующий процесс, но он бесконечно подписан. Это комбинация сервиса systemd и бесконечного цикла while? Я видел несколько методов loop_forever()
в клиенте Paho MQTT, есть ли что-то подобное в клиенте aws iot mqtt? Является ли loop_forever() просто бесконечным циклом while?