INNER CODE UNIT · Python
begin_shutdown
mars-tw/anti-gambling-trader-tw · core/ui/server.py:270
def begin_shutdown(self) -> None:
"""Refuse new owned requests and interrupt every owned socket."""
with self._owned_lock:
self._owned_closing = True
requests = list(self._owned_connections.values())
deadlines = [deadline[1] for deadline in self._owned_request_deadlines.values()]
self._owned_request_deadlines.clear()
for deadline in deadlines:
deadline.cancel()
for request in requests:
self._close_owned_socket(request)
def wait_for_handlers(self, timeout: float) -> bool:
"""Join only this server's workers, and never without a deadline."""
# Monotonic time keeps this independent of wall-clock changes.
import time