From 44240b8b04d3b449cdf72e6716cbad8ca8b4f21f Mon Sep 17 00:00:00 2001 From: Alexander Kalinovsky Date: Sun, 18 May 2025 15:14:01 +0700 Subject: [PATCH] handle updates without backgroundtasks trial --- src/quickbot/api_route/telegram.py | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/quickbot/api_route/telegram.py b/src/quickbot/api_route/telegram.py index 90c8a91..3a0a9f4 100644 --- a/src/quickbot/api_route/telegram.py +++ b/src/quickbot/api_route/telegram.py @@ -1,9 +1,11 @@ -from fastapi import APIRouter, Request, Response, BackgroundTasks +from typing import Annotated +from fastapi import APIRouter, Request, Response, BackgroundTasks, Depends from fastapi.datastructures import State +from sqlmodel.ext.asyncio.session import AsyncSession from ..main import QBotApp -from ..db import async_session +from ..db import async_session, get_db from aiogram.types import Update from logging import getLogger @@ -14,7 +16,7 @@ router = APIRouter() @router.post("/webhook") async def telegram_webhook( - # db_session: Annotated[AsyncSession, Depends(get_db)], + db_session: Annotated[AsyncSession, Depends(get_db)], request: Request, background_tasks: BackgroundTasks, ): @@ -30,12 +32,21 @@ async def telegram_webhook( except Exception: logger.error("Invalid request", exc_info=True) return Response(status_code=400) - background_tasks.add_task( - feed_bot_update, - app=app, - update=update, - app_state=request.state, - ) + + await app.dp.feed_webhook_update( + bot=app.bot, + update=update, + db_session=db_session, + app=app, + app_state=request.state, + ) + + # background_tasks.add_task( + # feed_bot_update, + # app=app, + # update=update, + # app_state=request.state, + # ) return Response(status_code=200)