MCPcopy
hub / github.com/encode/uvicorn / _serve

Method _serve

uvicorn/server.py:81–102  ·  view source on GitHub ↗
(self, sockets: list[socket.socket] | None = None)

Source from the content-addressed store, hash-verified

79 await self._serve(sockets)
80
81 async def _serve(self, sockets: list[socket.socket] | None = None) -> None:
82 process_id = os.getpid()
83
84 config = self.config
85 if not config.loaded:
86 config.load()
87
88 self.lifespan = config.lifespan_class(config)
89
90 message = "Started server process [%d]"
91 color_message = "Started server process [" + click.style("%d", fg="cyan") + "]"
92 logger.info(message, process_id, extra={"color_message": color_message})
93
94 await self.startup(sockets=sockets)
95 if not self.should_exit:
96 await self.main_loop()
97 if self.started:
98 await self.shutdown(sockets=sockets)
99
100 message = "Finished server process [%d]"
101 color_message = "Finished server process [" + click.style("%d", fg="cyan") + "]"
102 logger.info(message, process_id, extra={"color_message": color_message})
103
104 async def startup(self, sockets: list[socket.socket] | None = None) -> None:
105 await self.lifespan.startup()

Callers 1

serveMethod · 0.95

Calls 4

startupMethod · 0.95
main_loopMethod · 0.95
shutdownMethod · 0.95
loadMethod · 0.80

Tested by

no test coverage detected