diff --git a/win32/OpenERPServerService.py b/win32/OpenERPServerService.py index c529b582ba4..3f86c40aa4b 100644 --- a/win32/OpenERPServerService.py +++ b/win32/OpenERPServerService.py @@ -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__':