Вызов асинхронной функции внутри @app.route

Написал асинхронный парсер, решил запилить к нему веб интерфейс.
Проблема в том, что @app.route синхронный, а мой парсер - нет.
Когда я пытаюсь сделать так:

from my_parse_lib import parse_function
@app.route('/', methods=['post', 'get'])
def index():
    data = await parse_function()
    return render_template('index.html', data=data)

То естественно получаю ошибку. Я установил flaskio, но когда я делаю так:

from my_parse_lib import parse_function
@app.route('/', methods=['post', 'get'])
async def index():
    data = await parse_function()
    return render_template('index.html', data=data)

# RuntimeError: This event loop is already running

Тоже получаю ошибку. Я пробовал модуль syncer, но навесив декоратор @sync на свою асинхронную функцию, получил ошибку RuntimeError: There is no current event loop in thread 'Thread-x (process_request_thread)'.

Мне нужен любой рабочий способ получить данные из асинхронной функции внутри @app.route, и вернуть их пользователю.

Прошу меня не пинать в комментариях, т.к. тут простите, я новичок можно считать. Я уже 3й день перерываю просторы интернета, но ни одно решение мне пока что не помогло


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