Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # uvicorn src.main:app --host 0.0.0.0 --port 8000 --reload
- import logging
- from contextlib import asynccontextmanager
- from fastapi import FastAPI
- from src.core.config import config
- from src.db.session import sessionmanager
- from src.routers import bot_router, channel_router, messages_router, task_router
- logger = logging.getLogger(__name__)
- def get_app(init_db: bool = True):
- lifespan = None
- if init_db:
- sessionmanager.init(config.db_url("postgres+asyncpg"))
- @asynccontextmanager
- async def lifespan(app: FastAPI):
- yield
- if sessionmanager._engine is not None:
- await sessionmanager.close()
- app = FastAPI(title="botsAPI", lifespan=lifespan)
- @app.on_event("startup")
- async def startup():
- logging.basicConfig(level=logging.INFO)
- app.include_router(bot_router)
- # ...other routers
- return app
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement