app.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import sys
  2. import time
  3. import threading
  4. from argparse import ArgumentParser
  5. from appBoot.logUtil import LogUtil
  6. from health_monitoring import health_router
  7. app.include_router(health_router)
  8. # ³õʼ»¯·þÎñ
  9. @app.on_event("startup")
  10. def init_health_module():
  11. from health_monitoring.services import MSETService
  12. app.state.health_service = MSETService()
  13. def parse_args():
  14. parser = ArgumentParser(description="Run as a service.")
  15. parser.add_argument("action", choices=["start", "stop", "restart", "status"],default="start")
  16. parser.add_argument("--type", choices=["daemon", "service"], default="service")
  17. return parser.parse_args()
  18. def main():
  19. if sys.platform != "win32" :
  20. from appService.service.daemonService import DaemonService
  21. args = parse_args()
  22. daemon_service = DaemonService()
  23. if args.action == "start":
  24. daemon_service.start()
  25. elif args.action == "stop":
  26. daemon_service.stop()
  27. elif args.action == "status":
  28. daemon_service.status()
  29. if sys.platform == "win32":
  30. import servicemanager
  31. from appBoot.service.winService import WinService,CommandLine
  32. servicemanager.Initialize()
  33. servicemanager.PrepareToHostSingle(WinService)
  34. servicemanager.StartServiceCtrlDispatcher()
  35. # if args.type == "service":
  36. # from appService.service.winService import WinService,CommandLine
  37. # if len(sys.argv) == 1:
  38. # servicemanager.Initialize()
  39. # servicemanager.PrepareToHostSingle(WinService)
  40. # servicemanager.StartServiceCtrlDispatcher()
  41. # else:
  42. # CommandLine(WinService)
  43. # elif args.type == "daemon":
  44. # from appService.service.daemonService import DaemonService
  45. # daemon_service = DaemonService()
  46. # if args.action == "start":
  47. # daemon_service.start()
  48. # elif args.action == "stop":
  49. # daemon_service.stop()
  50. # elif args.action == "status":
  51. # daemon_service.status()
  52. if __name__ == "__main__":
  53. main()