/
outthevoid
/
python_microblogging_service_project
Обзор
Документация
Войти
/
outthevoid
/
python_microblogging_service_project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/core/session.py
41 строка
1 KB
VladimirChukavin
Revert "Вернул проект в исходное состояние."
07 апр 2026, 14:01
07 апр 2026, 14:01
7531b60
Код
Авторство
О чём код?
from collections.abc import AsyncIterator from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine from app.config import get_settings from app.database import models as db_models # noqa: F401 settings = get_settings() engine = create_async_engine( settings.database_url, echo=settings.app_debug, pool_pre_ping=True, pool_size=10, max_overflow=20, pool_timeout=30, pool_recycle=1800, ) AsyncSessionFactory = async_sessionmaker( bind=engine, class_=AsyncSession, expire_on_commit=False, autoflush=False, ) async def get_db_session() -> AsyncIterator[AsyncSession]: """ Предоставляет асинхронную сессию базы данных. Функция используется как зависимость FastAPI и создаёт сессию через фабрику асинхронных сессий, передавая её вызывающему коду в рамках контекстного менеджера. :returns: Асинхронный итератор с объектом сессии базы данных. :rtype: collections.abc.AsyncIterator[sqlalchemy.ext.asyncio.AsyncSession] """ async with AsyncSessionFactory() as session: yield session