3
我有一個Python腳本,其中我已連接到MQTT服務器。我期望通過我訂閱的主題獲得消息,但是如果我沒有收到消息,我想完全終止腳本。Python MQTT僅在有限時間連接
我與長相的工作如下腳本:使用了一段真實的說明中循環,並計算啓動腳本,它得到的消息之間傳遞的時間
#!/usr/bin/python
import sys
import json
import paho.mqtt.client as mqtt
def on_message(client, userdata, msg):
if msg.topic == "discovery":
data = json.loads(msg.payload)
serial = data['serial']
print "test successful!"
sys.exit(0)
def on_connect(client, userdata, flags, rc):
client.subscribe([("discovery", 2)])
client = mqtt.Client()
try:
client.connect('localhost', 4444)
except:
print "ERROR: Could not connect to MQTT
client.on_connect = on_connect
client.on_message = on_message
client.loop_forever()
我都試過了,但它即使在收到消息時,似乎(顯然)也不能逃脫循環。
有沒有一種方法可以說它連接了多長時間,當它超過那個時間時,就完全終止腳本?
或者,有沒有一種方法(正如我之前所做的那樣)創建一個循環,但也要考慮在循環中傳遞的消息?
感謝您的建議!
完美地工作,謝謝! – user5740843