[FIX] win32 service: configure service via sc.exe
bzr revid: chs@openerp.com-20121130113828-abweveb1ryzptvhf
This commit is contained in:
parent
5ec2748e04
commit
9e3a6c6cc3
|
@ -74,26 +74,29 @@ class OpenERPServerService(win32serviceutil.ServiceFramework):
|
|||
def option_handler(opts):
|
||||
# configure the service to auto restart on failures...
|
||||
service_name = OpenERPServerService._svc_name
|
||||
restart_msg = "Restarting %s" % (OpenERPServerService._svc_display_name_,)
|
||||
|
||||
hscm = win32service.OpenSCManager(None, None, win32service.SC_MANAGER_ALL_ACCESS)
|
||||
try:
|
||||
hs = win32serviceutil.SmartOpenService(hscm, service_name, win32service.SERVICE_ALL_ACCESS)
|
||||
try:
|
||||
service_failure_actions = {
|
||||
'ResetPeriod': 0, # Time in ms after which to reset the failure count to zero.
|
||||
'RebootMsg': u'', # Not using reboot option
|
||||
'Command': u'', # Not using run-command option
|
||||
'Actions': [
|
||||
(win32service.SC_ACTION_RESTART, 10), # action, delay in ms
|
||||
(win32service.SC_ACTION_RESTART, 10),
|
||||
(win32service.SC_ACTION_RESTART, 10),
|
||||
]
|
||||
}
|
||||
win32service.ChangeServiceConfig2(hs, win32service.SERVICE_CONFIG_FAILURE_ACTIONS, service_failure_actions)
|
||||
finally:
|
||||
win32service.CloseServiceHandle(hs)
|
||||
finally:
|
||||
win32service.CloseServiceHandle(hscm)
|
||||
subprocess.call('sc failure %s reset= 0 reboot= %r actions= reboot/0/reboot/0/reboot/0' % (service_name, restart_msg))
|
||||
|
||||
# hscm = win32service.OpenSCManager(None, None, win32service.SC_MANAGER_ALL_ACCESS)
|
||||
# try:
|
||||
# hs = win32serviceutil.SmartOpenService(hscm, service_name, win32service.SERVICE_ALL_ACCESS)
|
||||
# try:
|
||||
# service_failure_actions = {
|
||||
# 'ResetPeriod': 0, # Time in ms after which to reset the failure count to zero.
|
||||
# 'RebootMsg': u'', # Not using reboot option
|
||||
# 'Command': u'', # Not using run-command option
|
||||
# 'Actions': [
|
||||
# (win32service.SC_ACTION_RESTART, 10), # action, delay in ms
|
||||
# (win32service.SC_ACTION_RESTART, 10),
|
||||
# (win32service.SC_ACTION_RESTART, 10),
|
||||
# ]
|
||||
# }
|
||||
# win32service.ChangeServiceConfig2(hs, win32service.SERVICE_CONFIG_FAILURE_ACTIONS, service_failure_actions)
|
||||
# finally:
|
||||
# win32service.CloseServiceHandle(hs)
|
||||
# finally:
|
||||
# win32service.CloseServiceHandle(hscm)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Reference in New Issue