def supervisorctl_main(args=None, options=None, **kwargs): """ Initializes the supervisorctl with input redirect (stdin), output (stdout), and errors (stderr) """ if options is None: options = ClientOptions() stdout = kwargs.get('stdout') stderr = kwargs.get('stderr') stdin = kwargs.get('stdin') if stdout is not None: options.stdout = stdout if stderr is not None: options.stderr = stderr options.realize(args, doc=__doc__) c = Controller(options, stdin=stdin, stdout=stdout) if options.args: c.onecmd(" ".join(options.args)) if options.interactive: c.exec_cmdloop(args, options)
def main(args=None, options=None): if options is None: options = ClientOptions() options.realize(args, doc=__doc__) c = Controller(options) if options.args: c.onecmd(" ".join(options.args)) if options.interactive: try: import readline if options.history_file: try: readline.read_history_file(options.history_file) except IOError: pass def save(): try: readline.write_history_file(options.history_file) except IOError: pass import atexit atexit.register(save) except ImportError: pass try: c.cmdqueue.append('status') c.cmdloop() except KeyboardInterrupt: c.output('') pass
def test_real_controller_initialization(self): from supervisor.options import ClientOptions args = [] # simulating starting without parameters options = ClientOptions() # No default config file search in case they would exist self.assertTrue(len(options.searchpaths) > 0) options.searchpaths = [] options.realize(args, doc=__doc__) c = self._makeOne(options)
def main(args=None, options=None): if options is None: options = ClientOptions() options.realize(args, doc=__doc__) c = Controller(options) if options.args: c.onecmd(" ".join(options.args)) if options.interactive: c.exec_cmdloop(args, options)
def shutdown(**kwargs): supervisor_args = get_supervisor_args(kwargs) options = ClientOptions() options.realize(args=supervisor_args) try: rpc = get_rpc(options) rpc.supervisor.shutdown() print >> sys.stderr, "Shutting down supervisor" except socket.error: print >> sys.stderr, "Supervisor already shut down" except xmlrpclib.Fault as e: if e.faultString == 'SHUTDOWN_STATE': print >> sys.stderr, "Supervisor already shutting down"
def down(*args, **kwargs): if not args: args = sys.argv[1:] supervisor_args = get_supervisor_args(kwargs) options = ClientOptions() options.realize(args=supervisor_args) status = "init" while 1: try: rpc = get_rpc(options) rpc.supervisor.getPID() if status == 'shutdown': sys.stderr.write("\n") break except socket.error: if status == 'shutdown': sys.stderr.write("\n") sys.stderr.write("Starting supervisord\n") supervisord = find_supervisord() cmd = [supervisord] + supervisor_args retcode = subprocess.call(cmd) if retcode != 0: sys.exit(retcode) status = 'starting' except xmlrpclib.Fault as e: if e.faultString == 'SHUTDOWN_STATE': if status == 'init': sys.stderr.write("Supervisor currently shutting down ") sys.stderr.flush() status = 'shutdown' else: sys.stderr.write(".") sys.stderr.flush() time.sleep(1) if len(args): for name in args: info = rpc.supervisor.getProcessInfo(name) if info['statename'] != 'STOPPED': print "Stopping %s" % name try: rpc.supervisor.stopProcess(name) except xmlrpclib.Fault as e: # if e.faultCode == 60: # already stopped # continue print >> sys.stderr, e.faultCode, e.faultString sys.exit(1) else: print >> sys.stderr, "%s is already stopped" % name
def main(args=None, options=None): if options is None: options = ClientOptions() options.realize(args, doc=__doc__) c = Controller(options) if options.args: c.onecmd(" ".join(options.args)) if options.interactive: try: import readline delims = readline.get_completer_delims() delims = delims.replace(':', '') # "group:process" as one word delims = delims.replace('*', '') # "group:*" as one word delims = delims.replace('-', '') # names with "-" as one word readline.set_completer_delims(delims) if options.history_file: try: readline.read_history_file(options.history_file) except IOError: pass def save(): try: readline.write_history_file(options.history_file) except IOError: pass import atexit atexit.register(save) except ImportError: pass try: c.cmdqueue.append('status') c.cmdloop() except KeyboardInterrupt: c.output('') pass
def start(program): args = ["start", program] options = ClientOptions() options.realize(args) c = Controller(options) c.onecmd(" ".join(options.args))
def __init__(self, context): options = ClientOptions() options.realize([]) self.supervisor = options.getServerProxy().supervisor