index.py 869 B

1234567891011121314151617181920212223242526
  1. import sys
  2. import uvicorn
  3. import signal
  4. from api import *
  5. from sockets.socket_server import *
  6. def handle_shutdown(signum, frame):
  7. """关闭系统应用服务"""
  8. # 终止事件循环
  9. loop = asyncio.get_event_loop()
  10. loop.call_soon_threadsafe(loop.stop)
  11. sys.exit(0)
  12. if __name__ == "__main__":
  13. signal.signal(signal.SIGINT, handle_shutdown)
  14. signal.signal(signal.SIGTERM, handle_shutdown)
  15. # 控制台默认关闭输出信息,如果想要查看控制台输出,请单独启动服务 npm run dev-python
  16. print("python server is running at port:", PORT)
  17. # uvicorn会多创建一个进程,并且stdio独立于控制台,如果(开发时)出现进程没有关闭,可尝试关闭终端
  18. uvicorn.run(
  19. APP_RUN,
  20. host=APP_HOST,
  21. port=int(PORT),
  22. reload=False,
  23. workers=int(APP_WORKS),
  24. )