Где я должен инициализировать свой MQTT Loop в Django
В настоящее время мой init.py выглядит следующим образом:
from . import mqtt
mqtt.client.loop_start()
Но когда я запускаю его, некоторые действия в цикле выполняются более одного раза. Когда я ставлю перед ним time.sleep(30), все работает как надо. Но я думаю, что это не самое лучшее решение.
Как мне запустить цикл только после того, как все остальное загрузится.
Я пробовал поместить его в готовый AppConfig следующим образом:
from django.apps import AppConfig
from . import mqtt
class PrintConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'print'
def ready(self):
mqtt.client.loop_start()
но я получаю следующую ошибку:
RuntimeError("populate() isn't reentrant")
Есть ли что-то, что мне нужно добавить в мои INSTALLED APPS, когда я использую def ready(self): function ?