winService.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import sys
  2. import time
  3. import threading
  4. import win32event
  5. import win32service
  6. import win32serviceutil
  7. from appBoot.logUtil import LogUtil
  8. from dataAnalysisService.service.serviceOfDataAnalysis import ServiceOfDataAnalysis
  9. logUtil=LogUtil()
  10. logger=logUtil.getLogger()
  11. def CommandLine(classService):
  12. win32serviceutil.HandleCommandLine(classService)
  13. class WinService(win32serviceutil.ServiceFramework):
  14. _svc_name_ = "DataAnalysisService"
  15. _svc_display_name_ = "Data Analysis Service Of Turbine"
  16. _svc_description_ = "This is a sample service."
  17. def __init__(self, args):
  18. try:
  19. logger.info("execute init")
  20. win32serviceutil.ServiceFramework.__init__(self, args)
  21. self.stop_event = win32event.CreateEvent(None, 0, 0, None)
  22. self.service=ServiceOfDataAnalysis()
  23. except Exception as ex:
  24. logger.error(ex)
  25. def SvcStop(self):
  26. self.stop()
  27. def SvcDoRun(self):
  28. self.start()
  29. def main(self):
  30. while self.is_running:
  31. logger.info("Service is running...")
  32. self.service.run()
  33. def start(self):
  34. logger.info("execute start")
  35. try:
  36. self.ReportServiceStatus(win32service.SERVICE_START_PENDING)
  37. self.is_running = True
  38. self.ReportServiceStatus(win32service.SERVICE_RUNNING)
  39. self.main()
  40. except Exception as ex:
  41. logger.error(ex)
  42. def stop(self):
  43. self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
  44. self.is_running = False
  45. win32event.SetEvent(self.stop_event)
  46. def status(self):
  47. if self.is_running:
  48. print("Service is running.")
  49. else:
  50. print("Service is not running.")