/
Ulyanoff
/
asyncAPI
Обзор
Документация
Войти
/
Ulyanoff
/
asyncAPI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/database/core.py
36 строк
2 KB
Artem Ivochkin
add v2 api ver
25 сен 2025, 10:21
25 сен 2025, 10:21
edaae88
Код
Авторство
О чём код?
# -*- coding: utf-8 -*- import logging from sqlalchemy.ext.asyncio import AsyncConnection, AsyncSession from database.init import async_engine, async_session_maker logger = logging.getLogger(__name__) # Dependency для эндпойнтов async def get_conn() -> AsyncConnection: """Получение коннекта""" async with async_engine.connect() as conn: yield conn # будет стоять в этой точке до освобождения коннекта, после чего контекстный менеджер его закроет # await conn.close() # Dependency для эндпойнтов async def get_session() -> AsyncSession: """Получение коннекта""" async with async_session_maker() as session: yield session # будет стоять в этой точке до освобождения сессии, после чего контекстный менеджер его закроет # await session.close() pass async def db_closed(): """Закрытие пула коннектов""" await async_engine.dispose() # # Dependency для эндпойнтов # from database.init import async_session # from sqlalchemy.ext.asyncio import AsyncSession # async def get_session() -> AsyncSession: # """Получение сессии""" # async with async_session() as session: # yield session # будет стоять в этой точке до освобождения сессии, после чего контекстный менеджер её закроет