Supported MySQL Changes Listening

This commit is contained in:
2025-03-09 00:12:28 +03:00
parent 41d98aafe9
commit 77b23eaad2
9 changed files with 304 additions and 49 deletions

18
main.py
View File

@@ -2,24 +2,16 @@ import asyncio
from contextlib import asynccontextmanager
from fastapi import FastAPI
from app import api_router
from utils.scripts import pools_creator, pools_destroy, db_startup, cursors_closer
from dbs import mysql
from utils.scripts import startup, shutdown
@asynccontextmanager
async def lifespan(app: FastAPI):
await pools_creator()
mysql.cached_cursors_cleaner_task = asyncio.create_task(mysql.cached_cursors_cleaner())
await startup()
yield
mysql.cached_cursors_cleaner_task.cancel()
try:
await mysql.cached_cursors_cleaner_task
except asyncio.CancelledError:
print('Closed cached_cursors_cleaner_task')
await cursors_closer()
await pools_destroy()
await shutdown()
app = FastAPI(lifespan=lifespan)