INNER CODE UNIT · Python
_server_shutdown_procedure
not-sekiun/Consortium · consortium/server/server.py:143
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",
)
# TODO: Add `timeout` to prevent hanging during shutdown. Do not replace
# `blocking` because we want non block (false, Any), block with finite timeout
# (true, float), block forever (true, None).
self._logger.info("Stopping all running listeners...")
# Gracefully stop all running listeners.