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