Python Paho MQTT:如果MQTT消息泛滥,代理不响应?
我使用PAHOMQTT和Python特性启用Flask服务器Python Paho MQTT:如果MQTT消息泛滥,代理不响应?,python,flask,paho,Python,Flask,Paho,我使用PAHOMQTT和Python特性启用Flask服务器 每秒会向mqtt代理发送各种mqtt消息,当我接收到消息时,这些消息会立即存储在数据库中,但一段时间后,mqtt代理无法响应并且速度变慢 在向数据库插入消息时,有些消息不会被接收,就像在插入时,如果有消息出现,它不会被捕获一样 3.我的flask服务器正忙于收集mqtt消息,这会减慢网站的运行速度 这里是实现部分- app.config['MQTT_BROKER_URL'] = 'xxxxxx' app.config['MQT
app.config['MQTT_BROKER_URL'] = 'xxxxxx'
app.config['MQTT_BROKER_PORT'] = 1883
app.config['MQTT_REFRESH_TIME'] = 1.0
mqtt = Mqtt(app)
socketio = SocketIO(app)
@socketio.on('publish')
def handle_publish(json_str):
data = json.loads(json_str)
mqtt.publish(data['topic'], data['message'])
@mqtt.on_connect()
def handle_connect(client, userdata, flags, rc):
mqtt.subscribe('topic1_name')
mqtt.subscribe('topic2_name')
@mqtt.on_message()
def handle_mqtt_message(client, userdata, message):
insert message to database
@app.route('/')
def index():
return render_template('new.html')
是否需要将收集mqtt消息的脚本和插入数据库的脚本分开以减少负载?怎样才能使MQTT代理更加敏感?您可以考虑使用更强大的IOT消息代理(如AWS IOT)。您还可以使用异步队列(在Python标准库中)在消息等待插入数据库时保存消息。