INNER CODE UNIT · Python
_lifespan
not-sekiun/Consortium · consortium/server/server.py:138
async def _lifespan(self, _app: FastAPI) -> AsyncGenerator[None, Any]:
await self._server_startup_procedure()
yield
await self._server_shutdown_procedure()
async def _server_shutdown_procedure(self) -> None:
if self.status == ServerStatus.SHUTTING_DOWN:
return
self._logger.info("Shutting down server...")
self.status = ServerStatus.SHUTTING_DOWN
# Signal to event hooks that the server is stopping first.
await server_singletons.events_service.trigger_event(
event_type=EventType.STOP_SERVER,
message="Stopping server",
)