@Studencheskaya32

Как правилоно подружить FastAPI приложение с работающим параллельно обработчиком async очереди?

Нубский вопос на самом деле, но тем не менее.

Самый простой снипет fastAPI. Схематично:
app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Welcome to the webhook handler!"}

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)


И вот хочу я сюда вкрутить обработчик очереди типа Producer-Consumer. Скажем, приложение будет получать GET запрос, данные из него передавать в Producer, который будет складывать эти данные в asyncio.Queue. А Consumer, который крутится параллельно, будет читать из этой очереди и отправлять данные, скажем в чат в телеге.
Вот где и как мне запускать "воркер" который я будет ждать данных в очереди и обрабатывать их?
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
Если у тебя один инстанс приложения FastAPI, то тут в фоне и запускай, а если планируется несколько, то лучше использовать отдельный сервис очередей(можно как напрямую, так и через оберку типа FastStream), чём развлекаться с расшариванием asyncio.Queue между ними.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы