Lifespan functions in fastapi apps

13-05-2025

def create_app(config):
  app = FastAPI(
      title="APP",
      lifespan=create_lifespan(config),
  )
  app.on_event("startup")(partial(log_startup, logger, config))
  app.on_event("shutdown")(partial(log_shutdown, logger))
  return app
def create_app(config):
  app = FastAPI(
      title="APP",
      lifespan=create_lifespan(config),
  )
  return app
 
def create_lifespan(config):
  @asynccontextmanager
  async def lifespan(app: FastAPI):
      log_startup(logger, config)
      yield
      log_shutdown(logger)
  
  return lifespan