Ich verwende das Beispiel aus dem Proben/basicPubSub/basicPubSub.py mit useWebsocket=True
AWS IoT MQTT-Client für Python - Wie abonnieren Sie für immer?
habe ich einige Datei my_test_file.py
wo ich connect() und() mit einer Nachricht Rückruf abonnieren. Angenommen, der Rückruf schreibt nur in eine Protokolldatei. Wie kann ich diese Datei immer laufen lassen, so dass, wenn ich von irgendwo anders, heute, morgen, in einem Jahr veröffentlichen werde - wird diese Protokolldatei ständig mit der Nachricht geschrieben?
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)
Ist mit einer unendlichen while-Schleife am Ende des my_test_file.py
der einzige Weg? Mit der unendlichen While-Schleife leite ich die Datei und es ist ein Blocking-Prozess, aber es ist unbegrenzt abonniert. Ist es eine Kombination aus einem Systemdienst und dieser unendlichen While-Schleife? Ich sah einige loop_forever()
Methoden in der Paho MQTT-Client, hat die AWS iot mqtt Client etwas ähnliches? Ist loop_forever() nur eine unendliche while-Schleife implementiert?
Veröffentlichen Sie mehr von Ihrem Code. – hardillb