Wie zu verwenden paho mqtt-client in django?
Schreibe ich eine django-Anwendung, die handeln sollte, wie MQTT Verleger und als Abonnent.
Wo sollte ich anfangen die paho-client und führen Sie loop_forever () - Funktion.
Sollte es sein wsgi.py ?
loop_forever()
wird immer blockieren, so sollte es wohl auch gestartet werden, in einem eigenen thread
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update:
Wenn Sie brauchen, Django läuft in mehreren threads dann zu veröffentlichen, die Nachrichten von Ihrem Django-app, die Sie verwenden können, helper-Funktionen aus dem Modul Veröffentlichen der Paho - https://eclipse.org/paho/clients/python/docs/#id17
Sie nicht brauchen, um erstellen Sie eine Instanz der mqtt-client und starten Sie eine Schleife, in diesem Fall. Und abonnieren Sie einige Thema überlege, ob mqtt-client als standalone-Skript und importieren es notwendig Module Ihre Django-app (und vergessen Sie nicht, um den setup-Django-Umgebung im Skript).
Die Antwort unten ist nur gut, wenn Sie Django in einem einzigen thread, das ist nicht üblich in der Produktion.
Erstellen
mqtt.py
in Ihrer Anwendung Ordner und legen Sie alle zugehörigen code. Zum Beispiel:Nicht nennen
loop_forever()
hier!Dann in Ihrer Anwendung
__init__.py
nennenloop_start()
:Mit
loop_start()
stattloop_forever()
geben Sie nicht blockieren, hintergrund-thread.