diff --git a/apps/pydiscordsh/main.py b/apps/pydiscordsh/main.py index 4f6d4f171..e34f9a834 100644 --- a/apps/pydiscordsh/main.py +++ b/apps/pydiscordsh/main.py @@ -1,16 +1,28 @@ from fastapi import FastAPI, WebSocket from pydiscordsh import Routes, CORS, TursoDatabase +from contextlib import asynccontextmanager import logging logger = logging.getLogger("uvicorn") -app = FastAPI() + +@asynccontextmanager +async def lifespan(app: FastAPI): + logger.info("[DB]@PENDING") + await database.start_client() + yield + logger.info("[DB]@DISINT") + await database.stop_client() + logger.info("[DB]@STOPPING") + +app = FastAPI(lifespan=lifespan) routes = Routes(app, templates_dir="templates") CORS(app) database = TursoDatabase() + @app.get("/v1/db/start_client") async def start_client(): return await database.start_client()