import asyncio import signal from threading import Event from .main import logger, run_engine async def _async_main(): stop_event = Event() loop = asyncio.get_running_loop() for sig in (signal.SIGINT, signal.SIGTERM): try: loop.add_signal_handler(sig, stop_event.set) except NotImplementedError: # 信号处理在某些平台(如 Windows)不可用,忽略即可 pass await run_engine(stop_event) def main(): logger.info("worker 进程启动") asyncio.run(_async_main()) if __name__ == "__main__": main()