def shutdown(self, relaunch=False): self._disconnect(self.servers.keys()) #stop timers or just not care... Timers._stopall() reactor.callLater(2.0, self.databasemanager.shutdown) # to give time for individual shutdown Dispatcher.unloadModules() reactor.callLater(2.5, reactor.stop) # to give time for individual shutdown # TODO: make sure this works properly # it may act odd on Windows due to execv not replacing current process. if relaunch: register(relaunchfunc, executable, argv)
def hardshutdown(self): Timers._stopall() Dispatcher.unloadModules() self.databasemanager.shutdown()