2024-07-11 16:01:26 +00:00
|
|
|
from contextlib import asynccontextmanager
|
|
|
|
|
|
|
|
from core.config import settings
|
|
|
|
from core.models import db_helper
|
|
|
|
from api import router as api_router
|
|
|
|
|
|
|
|
import uvicorn
|
|
|
|
from fastapi import FastAPI
|
|
|
|
|
|
|
|
|
|
|
|
@asynccontextmanager
|
|
|
|
async def lifespan(app: FastAPI):
|
|
|
|
#startap
|
|
|
|
yield
|
|
|
|
#shutdown
|
|
|
|
print('dispose engine')
|
|
|
|
await db_helper.dispose()
|
|
|
|
|
|
|
|
main_app = FastAPI(
|
|
|
|
lifespan=lifespan,
|
|
|
|
)
|
|
|
|
main_app.include_router(api_router,
|
|
|
|
prefix=settings.api.prefix)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
uvicorn.run('main:main_app',
|
|
|
|
host=settings.run.host,
|
|
|
|
port=settings.run.port,
|
|
|
|
reload=settings.run.reload)
|