diff --git a/src/install/ManagerService.py b/src/install/ManagerService.py index fb293c9..aed6057 100644 --- a/src/install/ManagerService.py +++ b/src/install/ManagerService.py @@ -153,16 +153,18 @@ class ComacDBService(win32serviceutil.ServiceFramework): logger.info("Service stopped successfully") pass -if __name__ == '__main__': +import win32service +import win32serviceutil +if __name__ == '__main__': ensure_dir(app_log_dir) logger.add( - sink=os.path.join(app_log_dir, "ManagerService.log"), # 文件路径模板 - rotation="10 MB", # 文件大小达到10MB时轮转 - retention="1 days", # 保留最近1天的日志 - compression="zip", # 压缩旧日志节省空间 - enqueue=True, # 线程安全写入 - format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}" # 自定义格式 + sink=os.path.join(app_log_dir, "ManagerService.log"), + rotation="10 MB", + retention="1 days", + compression="zip", + enqueue=True, + format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}" ) if len(sys.argv) == 1: @@ -170,4 +172,11 @@ if __name__ == '__main__': servicemanager.PrepareToHostSingle(ComacDBService) servicemanager.StartServiceCtrlDispatcher() else: - err = win32serviceutil.HandleCommandLine(ComacDBService) \ No newline at end of file + # 处理 install/update/remove 等命令 + win32serviceutil.HandleCommandLine(ComacDBService) + if "install" in sys.argv: + win32serviceutil.ChangeServiceConfig( + pythonClassString=win32serviceutil.GetServiceClassString(ComacDBService), + serviceName=service_name, + startType=win32service.SERVICE_AUTO_START, + ) \ No newline at end of file