Python Paho MQTT: Брокер не отвечает, если залит сообщениями mqtt? - PullRequest
3 голосов
/ 27 марта 2020

Я Flask сервер включен с Paho Mqtt с функцией Python.

  1. Различные mqtt-сообщения в секунду отправляются брокеру mqtt, который затем сохраняется в базе данных как как только я получаю сообщения, но через некоторое время mqtt-брокер не отвечает и замедляется

  2. Некоторые сообщения не принимаются при вставке сообщений в базу данных, как при вставке, если приходят некоторые сообщения, не перехватывает.

3.Мой flask сервер занят сбором mqtt-сообщений, что замедляет работу сайта

вот часть реализации-

  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 стал более отзывчивым?

...