gpt4 book ai didi

python - 所有 python windows 服务都无法启动{error 1053}

转载 作者:太空狗 更新时间:2023-10-29 20:37:24 25 4
gpt4 key购买 nike

所有python代码服务可以安装但无法启动

错误 1053:服务没有及时响应启动或控制请求。

因为我的服务可以在我的服务器上安装和启动。我认为我的代码没有问题。

但我仍然想知道是否有解决方案可以解决代码中的这个错误

我的服务:

import win32serviceutil
import win32service
import win32event

import time
import traceback
import os

import ConfigParser
import time
import traceback
import os
import utils_func
from memcache_synchronizer import *

class MyService(win32serviceutil.ServiceFramework):
"""Windows Service."""
os.chdir(os.path.dirname(__file__))
conf_file_name = "memcache_sync_service.ini"
conf_parser = ConfigParser.SafeConfigParser()
conf_parser.read(conf_file_name)
_svc_name_, _svc_display_name_, _svc_description_ = utils_func.get_win_service(conf_parser)

def __init__(self, args):
if os.path.dirname(__file__):
os.chdir(os.path.dirname(__file__))
win32serviceutil.ServiceFramework.__init__(self, args)

# create an event that SvcDoRun can wait on and SvcStop can set.
self.stop_event = win32event.CreateEvent(None, 0, 0, None)

def SvcDoRun(self):
self.Run()
win32event.WaitForSingleObject(self.stop_event, win32event.INFINITE)

def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.stop_event)
LoggerInstance.log("memcache_sync service is stopped")
self.ReportServiceStatus(win32service.SERVICE_STOPPED)
sys.exit()

def Run(self):
try:
LoggerInstance.log("\n******\n\memcache_sync_service is running, configuration: %s\n******" % (self.conf_file_name,))
if ((not self.conf_parser.has_section('Memcache')) or
(not self.conf_parser.has_option('Memcache', 'check_interval'))):
LoggerInstance.log('memcache_sync_service : no Memcache service parameters')
self.SvcStop()

# set configuration parameters from ini configuration
self.check_interval = self.conf_parser.getint('Memcache', 'check_interval')

ms = MemcacheSynchronizer()
while 1:
ms.Sync()
time.sleep(self.check_interval)
except:
LoggerInstance.log("Unhandled Exception \n\t%s" % (traceback.format_exc(),))


if __name__ == '__main__':
win32serviceutil.HandleCommandLine(MyService)

"sc query [name]"cmd 的执行结果:

SERVICE_NAME: NewsMonitoringMemcacheSynchronizer

   TYPE               : 10  WIN32_OWN_PROCESS 
STATE : 1 STOPPED
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

更新:

我可以在 Debug模式下运行这个服务,cmd:

memcache_syn_service.py debug

最佳答案

使用 pypiwin32(版本:220)和 python(版本:3.6)时遇到同样的问题。我不得不复制:

"\Python36-32\Lib\site-packages\pypiwin32_system32\pywintypes36.dll"

"\Python36-32\Lib\site-packages\win32"

用于启动服务(在 Debug模式下工作)

关于python - 所有 python windows 服务都无法启动{error 1053},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13466053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com