Pracuję na stronie internetowej i używam Django do programowania. Mam kilka urządzeń, które komunikują się z witryną za pomocą MQTT, a ja zamierzam użyć klienta paho-mqtt. Mój problem polega na tym, że aby paho-mqtt mógł funkcjonować, muszę wywołać funkcję, która będzie trwać wiecznie, a paho-mqtt będzie nadal nasłuchiwać wiadomości. Jaki jest najlepszy sposób na wywołanie tej pętli i zawarcie jej we własnym wątku?Jak radzić sobie z funkcją loop_forever funkcji mqtt podczas używania Django?
Czy mogę po prostu utworzyć nowy wątek, czy powinienem użyć czegoś takiego jak seler?
może użycie 'celety' jest najlepszym wyborem. –
W jaki sposób zakończyłeś integrację? Mam podobny przypadek, ale muszę tylko opublikować materiał, więc tworzę nowy obiekt mqtt dla każdego żądania, które tego potrzebuje. Zastanawiam się, czy to marnuje zasoby. – rslite
Jeśli utworzysz klienta takiego jak client.loop_forever(), później wywołasz metodę client.loop_start(). Następnie po prostu zadzwoń do client.publish ("paho/temperature", temperature), kiedy potrzebujesz. Parametr loop_forever powinien obsługiwać rozłączniki i odnawiać połączenia. – mike29892