Python-Paho MQTT Client: как обрабатывать 2 сообщения одновременно - PullRequest
0 голосов
/ 08 июля 2019

У меня есть модуль, который прослушивает поступающие опубликованные сообщения Mqtt, затем в on_message будет выполнять задачи в зависимости от содержимого сообщения.

import paho.mqtt.client as mqtt

mqttc = mqtt.Client()

mqttc.on_message = on_message

mqttc.tls_set(
    CA_ROOT_CERT_FILE,
    certfile=THING_CERT_FILE,
    keyfile=THING_PRIVATE_KEY,
    cert_reqs=ssl.CERT_REQUIRED,
    tls_version=ssl.PROTOCOL_TLSv1_2,
    ciphers=None)
mqttc.connect(MQTT_HOST, MQTT_PORT, MQTT_KEEPALIVE_INTERVAL)
mqttc.loop_forever()

def on_message(mosq, obj, msg):
     #tasks

Проблема, с которой я сталкиваюсь, заключается в том, что я могу отправлять только одно сообщение за одним, если я отправляю более двух сообщений одновременно, mqtt может обработать только одно сообщение, а затем продолжить следующее.

Есть ли способ настроить клиент или код mqtt для обработки нескольких сообщений одновременно (2-3 сообщения)?

Любое предложение приветствуется.

...