INNER CODE UNIT · Python
serve
stacklok/codegate · src/codegate/cli.py:47
async def serve(self) -> None:
"""Start the uvicorn server and handle shutdown gracefully."""
self.logger.debug(f"Starting server on {self.host}:{self.port}")
# Set up signal handlers
loop = asyncio.get_running_loop()
loop.add_signal_handler(signal.SIGTERM, lambda: asyncio.create_task(self.cleanup()))
loop.add_signal_handler(signal.SIGINT, lambda: asyncio.create_task(self.cleanup()))
self.server = Server(config=self.config)
self.server.force_exit = True
try:
self._startup_complete.set()
await self.server.serve()
except asyncio.CancelledError:
self.logger.info("Server received cancellation")
except Exception as e: