sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #06912
[Merge] ~ack/maas-site-manager:fix-starlette-warning into maas-site-manager:main
Alberto Donato has proposed merging ~ack/maas-site-manager:fix-starlette-warning into maas-site-manager:main.
Commit message:
fix Starlette deprecation about on_startup/on_shutdown
Requested reviews:
MAAS Lander (maas-lander): unittests
MAAS Committers (maas-committers)
For more details, see:
https://code.launchpad.net/~ack/maas-site-manager/+git/site-manager/+merge/440859
--
Your team MAAS Committers is requested to review the proposed merge of ~ack/maas-site-manager:fix-starlette-warning into maas-site-manager:main.
diff --git a/backend/msm/user_api/_setup.py b/backend/msm/user_api/_setup.py
index 0645e1b..03b9d18 100644
--- a/backend/msm/user_api/_setup.py
+++ b/backend/msm/user_api/_setup.py
@@ -1,4 +1,6 @@
+from contextlib import asynccontextmanager
from os import environ
+from typing import AsyncGenerator
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
@@ -25,13 +27,18 @@ origins = [
def create_app(db_dsn: str = DEFAULT_DB_DSN) -> FastAPI:
+ @asynccontextmanager
+ async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
+ await db.connect()
+ yield
+ await db.disconnect()
+
db = Database(db_dsn)
app = FastAPI(
title="MAAS Site Manager",
name=PACKAGE.project_name,
version=PACKAGE.version,
- on_startup=[db.connect],
- on_shutdown=[db.disconnect],
+ lifespan=lifespan,
)
app.add_middleware(
CORSMiddleware,