def restart(self, immediate: bool = False) -> None: """Restart the server child-process. This can be necessary for some config changes to take effect. By default, the server will restart at the next good transition point (end of a series, etc) but passing immediate=True will restart it immediately. """ from bacommon.servermanager import ShutdownCommand, ShutdownReason self._enqueue_server_command( ShutdownCommand(reason=ShutdownReason.RESTARTING, immediate=immediate))
def restart(self, immediate: bool = True) -> None: """Restart the server subprocess. By default, the current server process will exit immediately. If 'immediate' is passed as False, however, it will instead exit at the next clean transition point (the end of a series, etc). """ from bacommon.servermanager import ShutdownCommand, ShutdownReason self._enqueue_server_command( ShutdownCommand(reason=ShutdownReason.RESTARTING, immediate=immediate)) # If we're asking for an immediate restart but don't get one within # the grace period, bring down the hammer. if immediate: self._subprocess_force_kill_time = ( time.time() + self.IMMEDIATE_SHUTDOWN_TIME_LIMIT)
def shutdown(self, immediate: bool = True) -> None: """Shut down the server subprocess and exit the wrapper By default, the server will exit immediately. If 'immediate' is passed as False, however, the server will instead exit at the next clean transition point (end of a series, etc). """ from bacommon.servermanager import ShutdownCommand, ShutdownReason self._enqueue_server_command( ShutdownCommand(reason=ShutdownReason.NONE, immediate=immediate)) # An explicit shutdown means we know to bail completely once this # subprocess completes. self._wrapper_shutdown_desired = True # If we're asking for an immediate shutdown but don't get one within # the grace period, bring down the hammer. if immediate: self._subprocess_force_kill_time = (time.time() + IMMEDIATE_SHUTDOWN_TIME_LIMIT)