设置服务开机自启

This commit is contained in:
chenxudong 2025-08-08 15:15:47 +08:00
parent 4528e81211
commit e05b2ac957
1 changed files with 17 additions and 8 deletions

View File

@ -153,16 +153,18 @@ class ComacDBService(win32serviceutil.ServiceFramework):
logger.info("Service stopped successfully") logger.info("Service stopped successfully")
pass pass
if __name__ == '__main__': import win32service
import win32serviceutil
if __name__ == '__main__':
ensure_dir(app_log_dir) ensure_dir(app_log_dir)
logger.add( logger.add(
sink=os.path.join(app_log_dir, "ManagerService.log"), # 文件路径模板 sink=os.path.join(app_log_dir, "ManagerService.log"),
rotation="10 MB", # 文件大小达到10MB时轮转 rotation="10 MB",
retention="1 days", # 保留最近1天的日志 retention="1 days",
compression="zip", # 压缩旧日志节省空间 compression="zip",
enqueue=True, # 线程安全写入 enqueue=True,
format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}" # 自定义格式 format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}"
) )
if len(sys.argv) == 1: if len(sys.argv) == 1:
@ -170,4 +172,11 @@ if __name__ == '__main__':
servicemanager.PrepareToHostSingle(ComacDBService) servicemanager.PrepareToHostSingle(ComacDBService)
servicemanager.StartServiceCtrlDispatcher() servicemanager.StartServiceCtrlDispatcher()
else: else:
err = win32serviceutil.HandleCommandLine(ComacDBService) # 处理 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,
)