Запуск клиента MQTT внутри Django

On Connect rc: 0
Subscribed: application/13/device/0090000000000003/status
On Connect rc: 0
Subscribed: application/13/device/0090000000000003/status
On Connect rc: 0
Subscribed: application/13/device/0090000000000003/status
On Connect rc: 0
Subscribed: application/13/device/0090000000000003/status
On Connect rc: 0
Subscribed: application/13/device/0090000000000003/status
On Connect rc: 0
Subscribed: application/13/device/0090000000000003/status
On Connect rc: 0
Subscribed: application/13/device/0090000000000003/status
On Connect rc: 0
Subscribed: application/13/device/0090000000000003/status
On Connect rc: 0

Я пытаюсь запустить MQTTC клиент внутри моего Django приложения, и я запускаю эту функцию в APP config, но при запуске приложения, почему она вызывает обратные вызовы несколько раз, что остается под вопросом, я хочу, чтобы эта функция выполнялась только один раз, как мне предотвратить такое поведение Django, я пытался использовать пул потоков, но тот же результат

mqttc = mqtt.Client(clientId)

mqttc.on_connect = on_connect
mqttc.on_subscribe = on_subscribe
mqttc.on_message = on_message
mqttc.connect(broker, port=port)


def check_device(instance=None):


    global topic_list

    print(' Mqttc broker called ')   

    logging.basicConfig(level=logging.DEBUG)

    mqttc.loop_start()    




class DashboardConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'dashboard'
    def ready(self):
            from .schedulars import scheduler,check_device
            # scheduler.start()
            # executor = threadpool(max_workers=2)
            # executor.submit(check_device)
            check_device()
Вернуться на верх