Files
backend/main.py

54 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 приложение работает!"}