Почему Paho MQTT клиент инициализирует два соединения? - PullRequest
0 голосов
/ 14 сентября 2018

Я использую Django и MQTT клиент.Я хочу запустить клиент MQTT в фоновом режиме и клиент сразу после того, как приложение Django будет готово, поэтому у меня есть этот код:

###mysite/app/apps.py
from django.apps import AppConfig

class TimetableConfig(AppConfig):
    name = 'timetable'

    def ready(self):
        from mqtt.client import client
        client.loop_start()

###mysite/mqtt/client
import paho.mqtt.client as mqtt
#from .tasks import *

#The callback for connecting to CloudMQTT broker
def on_connect(client, userdata, flags, rc):
    print("Connecting to CloudMQTT broker: "+ mqtt.connack_string(rc))

# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, message):
    print("Received message '" + str(message.payload) + "' on topic '"
        + message.topic  + "' with QoS " + str(message.qos))

    topic = message.topic.split('/')
    room  = get_room(topic[0], int(topic[1]))

    if topic[2] == 'ID':
        pass

    if topic[2] == 'lastWill':
        pass



client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.username_pw_set('xxxxxxxx', 'xxxxxxxx')
client.connect('xxxxxxxx', xxxxx),

Второй код - это то, откуда импортируется клиентский объект в apps.py.Я не понимаю, почему при запуске сервера разработки создаются два клиента MQTT?

...