Run the relay server with graceful shutdown
(
host: str,
port: int,
reload_grace_period_ms: int = RELOAD_GRACE_PERIOD_MS,
)
| 737 | |
| 738 | |
| 739 | async def run_server( |
| 740 | host: str, |
| 741 | port: int, |
| 742 | reload_grace_period_ms: int = RELOAD_GRACE_PERIOD_MS, |
| 743 | ) -> None: |
| 744 | """Run the relay server with graceful shutdown""" |
| 745 | server = RelayServer( |
| 746 | host=host, |
| 747 | port=port, |
| 748 | reload_grace_period_ms=reload_grace_period_ms, |
| 749 | ) |
| 750 | |
| 751 | if sys.platform != "win32": |
| 752 | loop = asyncio.get_running_loop() |
| 753 | for sig in (signal.SIGINT, signal.SIGTERM): |
| 754 | loop.add_signal_handler(sig, lambda: asyncio.create_task(server.stop())) |
| 755 | |
| 756 | try: |
| 757 | await server.start() |
| 758 | except asyncio.CancelledError: |
| 759 | pass |
| 760 | finally: |
| 761 | await server.stop() |
| 762 | |
| 763 | |
| 764 | def _resolve_log_dir() -> Path: |
no test coverage detected