# mypy: ignore-errors """Manage startup and shutdown tasks for the FastAPI application.""" from contextlib import asynccontextmanager from fastapi import FastAPI from delivery_metadata import config from delivery_metadata.connectors import graphql, ows, sql @asynccontextmanager async def lifespan(app: FastAPI): """Manage startup and shutdown tasks for the FastAPI application.""" # Startup tasks app.state.art_relations_connector = sql.SqlConnector(config.AR_DB_URL) app.state.direct_delivery_connector = sql.SqlConnector(config.DD_DB_URL) app.state.ows_connector = ows.OwsConnector() app.state.graphql_connector = graphql.GraphQlConnector() yield # Shutdown tasks await app.state.art_relations_connector.close() await app.state.direct_delivery_connector.close() await app.state.ows_connector.close()