import os import sys from fastapi import FastAPI from instance import setup_logging import logging setup_logging() # logging.basicConfig( # level=logging.INFO, # format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', # handlers=[logging.StreamHandler(sys.stdout)], # force=True # ) from instance import init_postgresql, close_connections from app.routes import router, subscription_router logger = logging.getLogger(__name__) app = FastAPI() @app.on_event("startup") async def startup(): """ Инициализация подключения к базам данных. """ try: logger.info("Инициализация PostgreSQL...") await init_postgresql() logger.info("PostgreSQL успешно инициализирован.") except Exception as e: logger.error(f"Ошибка при инициализации баз данных: {e}") raise RuntimeError("Не удалось инициализировать базы данных") @app.on_event("shutdown") async def shutdown(): """ Закрытие соединений с базами данных. """ try: logger.info("Закрытие соединений с базами данных...") await close_connections() logger.info("Соединения с базами данных успешно закрыты.") except Exception as e: logger.error(f"Ошибка при закрытии соединений: {e}") app.include_router(router, prefix="/api") #app.include_router(payment_router, prefix="/api") app.include_router(subscription_router, prefix="/api") @app.get("/") def read_root(): return {"message": "FastAPI приложение работает!"}