Как решить проблему с загрузкой страницы Fastapi и MQTT

Пишу небольшой обработчик запросов mqtt на python с помощью paho и fastapi. При переходе на страницу, где должен быть ответ, ошибка RuntimeWarning: Enable tracemalloc to get the object allocation traceback, она из за того, что mqtt не поддерживает асинхронность, но при этом обычные функции не загружаются, вот код:

from fastapi import FastAPI
import random
from paho.mqtt import client as mqtt


app = FastAPI()

broker = "localhost" #default broker
port = 1883 #mqtt port
topic = "scales"  # topic for scales
# generate client ID with pub prefix randomly
client_id = f'python-mqtt-{random.randint(0, 1000)}'
username = 'mosquitto' #osquitto username
password = 'mosquitto' #mosquitto password

@app.get("/mqtt")
async def main_data_app():
    async def on_connect(client, userdata, flags, rc):
        res = "Connected with result code "+str(rc)
        client.subscribe(topic)
        return res

    # The callback for when a PUBLISH message is received from the server.
    async def on_message(client, userdata, msg):
        resultat = msg.topic+" "+str(msg.payload)
        return resultat

    
    client = mqtt.Client(client_id)
    client.on_connect = on_connect
    client.on_message = on_message

    client.username_pw_set(username, password)
    client.connect(broker, port, 60)
    client.loop_forever()

Ответы (0 шт):