def shutdown(self, type): if sickbeard.started: # stop all tasks sickbeard.halt() # save all shows to DB sickbeard.saveAll() # shutdown web server if self.webserver: logger.log("Shutting down Tornado") self.webserver.shutDown() try: self.webserver.join(10) except: pass # if run as daemon delete the pidfile if self.runAsDaemon and self.CREATEPID: self.remove_pid_file(self.PIDFILE) if type == sickbeard.events.SystemEvent.RESTART: install_type = sickbeard.versionCheckScheduler.action.install_type popen_list = [] if install_type in ("git", "source"): popen_list = [sys.executable, sickbeard.MY_FULLNAME] elif install_type == "win": if hasattr(sys, "frozen"): # c:\dir\to\updater.exe 12345 c:\dir\to\sickbeard.exe popen_list = [ os.path.join(sickbeard.PROG_DIR, "updater.exe"), str(sickbeard.PID), sys.executable, ] else: logger.log(u"Unknown SB launch method, please file a bug report about this", logger.ERROR) popen_list = [ sys.executable, os.path.join(sickbeard.PROG_DIR, "updater.py"), str(sickbeard.PID), sys.executable, sickbeard.MY_FULLNAME, ] if popen_list: popen_list += sickbeard.MY_ARGS if "--nolaunch" not in popen_list: popen_list += ["--nolaunch"] logger.log(u"Restarting SickRage with " + str(popen_list)) logger.close() subprocess.Popen(popen_list, cwd=os.getcwd()) # system exit os._exit(0)
def shutdown(self, ev_type): if sickbeard.started: # stop all tasks sickbeard.halt() # save all shows to DB sickbeard.save_all() # shutdown web server if self.webserver: logger.log('Shutting down Tornado') self.webserver.shut_down() try: self.webserver.join(10) except (StandardError, Exception): pass # if run as daemon delete the pidfile if self.run_as_daemon and self.create_pid: self.remove_pid_file(self.pid_file) if sickbeard.events.SystemEvent.RESTART == ev_type: install_type = sickbeard.versionCheckScheduler.action.install_type popen_list = [] if install_type in ('git', 'source'): popen_list = [sys.executable, sickbeard.MY_FULLNAME] if popen_list: popen_list += sickbeard.MY_ARGS if self.run_as_systemd: logger.log(u'Restarting SickGear with exit(1) handler and %s' % popen_list) logger.close() self.exit(1) if '--nolaunch' not in popen_list: popen_list += ['--nolaunch'] logger.log(u'Restarting SickGear with %s' % popen_list) logger.close() subprocess.Popen(popen_list, cwd=os.getcwd()) # system exit self.exit(0)
def shutdown(self, ev_type): if sickbeard.started: # stop all tasks sickbeard.halt() # save all shows to DB sickbeard.save_all() # shutdown web server if self.webserver: logger.log('Shutting down Tornado') self.webserver.shut_down() try: self.webserver.join(10) except (BaseException, Exception): pass # if run as daemon delete the pidfile if self.run_as_daemon and self.create_pid: self.remove_pid_file(self.pid_file) if sickbeard.events.SystemEvent.RESTART == ev_type: install_type = sickbeard.versionCheckScheduler.action.install_type popen_list = [] if install_type in ('git', 'source'): popen_list = [sys.executable, sickbeard.MY_FULLNAME] if popen_list: popen_list += sickbeard.MY_ARGS if self.run_as_systemd: logger.log(u'Restarting SickGear with exit(1) handler and %s' % popen_list) logger.close() self.exit(1) if '--nolaunch' not in popen_list: popen_list += ['--nolaunch'] logger.log(u'Restarting SickGear with %s' % popen_list) logger.close() subprocess.Popen(popen_list, cwd=os.getcwd()) # system exit self.exit(0)
def shutdown(self, type): if sickbeard.started: # stop all tasks sickbeard.halt() # save all shows to DB sickbeard.saveAll() # shutdown web server if self.webserver: logger.log('Shutting down Tornado') self.webserver.shutDown() try: self.webserver.join(10) except: pass # if run as daemon delete the pidfile if self.runAsDaemon and self.CREATEPID: self.remove_pid_file(self.PIDFILE) if type == sickbeard.events.SystemEvent.RESTART: install_type = sickbeard.versionCheckScheduler.action.install_type popen_list = [] if install_type in ('git', 'source'): popen_list = [sys.executable, sickbeard.MY_FULLNAME] if popen_list: popen_list += sickbeard.MY_ARGS if '--nolaunch' not in popen_list: popen_list += ['--nolaunch'] logger.log(u'Restarting SickGear with %s' % popen_list) logger.close() subprocess.Popen(popen_list, cwd=os.getcwd()) # system exit os._exit(0)
def saveAndShutdown(restart=False): halt() saveAll() logger.log(u"Killing cherrypy") cherrypy.engine.exit() if CREATEPID: logger.log(u"Removing pidfile " + str(PIDFILE)) remove_pid_file(PIDFILE) if restart: install_type = versionCheckScheduler.action.install_type popen_list = [] if install_type in ('git', 'source'): popen_list = [sys.executable, MY_FULLNAME] elif install_type == 'win': if hasattr(sys, 'frozen'): # c:\dir\to\updater.exe 12345 c:\dir\to\sickbeard.exe popen_list = [os.path.join(PROG_DIR, 'updater.exe'), str(PID), sys.executable] else: logger.log(u"Unknown SB launch method, please file a bug report about this", logger.ERROR) popen_list = [sys.executable, os.path.join(PROG_DIR, 'updater.py'), str(PID), sys.executable, MY_FULLNAME ] if popen_list: popen_list += MY_ARGS if '--nolaunch' not in popen_list: popen_list += ['--nolaunch'] logger.log(u"Restarting Sick Beard with " + str(popen_list)) logger.close() subprocess.Popen(popen_list, cwd=os.getcwd()) os._exit(0)
install_type = sickbeard.versionCheckScheduler.action.install_type popen_list = [] if install_type in ('git', 'source'): popen_list = [sys.executable, sickbeard.MY_FULLNAME] elif install_type == 'win': if hasattr(sys, 'frozen'): # c:\dir\to\updater.exe 12345 c:\dir\to\sickbeard.exe popen_list = [os.path.join(sickbeard.PROG_DIR, 'updater.exe'), str(sickbeard.PID), sys.executable] else: logger.log(u"Unknown SB launch method, please file a bug report about this", logger.ERROR) popen_list = [sys.executable, os.path.join(sickbeard.PROG_DIR, 'updater.py'), str(sickbeard.PID), sys.executable, sickbeard.MY_FULLNAME] if popen_list: popen_list += sickbeard.MY_ARGS if '--nolaunch' not in popen_list: popen_list += ['--nolaunch'] logger.log(u"Restarting SickRage with " + str(popen_list)) logger.close() subprocess.Popen(popen_list, cwd=os.getcwd()) # exit process os._exit(0) except: if sr: logger.log(traceback.format_exc(), logger.ERROR) else: print(traceback.format_exc()) sys.exit(1)