def main(): parser = argparse.ArgumentParser(description="Runs a plugin.") parser.add_argument("--endpoint", help="The circusd ZeroMQ socket to connect to", default=DEFAULT_ENDPOINT_DEALER) parser.add_argument( "--pubsub", help="The circusd ZeroMQ pub/sub socket to connect to", default=DEFAULT_ENDPOINT_SUB ) parser.add_argument("--config", help="The plugin configuration", default=None) parser.add_argument("--version", action="store_true", default=False, help="Displays Circus version and exits.") parser.add_argument("--check-delay", type=float, default=5.0, help="Checck delay.") parser.add_argument("plugin", help="Fully qualified name of the plugin class.", nargs="?") parser.add_argument("--log-level", dest="loglevel", default="info", help="log level") parser.add_argument("--log-output", dest="logoutput", default="-", help="log output") parser.add_argument("--ssh", default=None, help="SSH Server") args = parser.parse_args() if args.version: print(__version__) sys.exit(0) if args.plugin is None: parser.print_usage() sys.exit(0) # configure the logger loglevel = LOG_LEVELS.get(args.loglevel.lower(), logging.INFO) logger.setLevel(loglevel) if args.logoutput == "-": h = logging.StreamHandler() else: h = logging.handlers.WatchedFileHandler(args.logoutput) close_on_exec(h.stream.fileno()) fmt = logging.Formatter(LOG_FMT, LOG_DATE_FMT) h.setFormatter(fmt) logger.addHandler(h) # load the plugin and run it. logger.info("Loading the plugin...") logger.info("Endpoint: %r" % args.endpoint) logger.info("Pub/sub: %r" % args.pubsub) plugin = resolve_name(args.plugin)(args.endpoint, args.pubsub, args.check_delay, args.ssh, **_str2cfg(args.config)) logger.info("Starting") try: plugin.start() except KeyboardInterrupt: pass finally: logger.info("Stopping") plugin.stop() sys.exit(0)
def main(): parser = argparse.ArgumentParser(description='Runs a plugin.') parser.add_argument('--endpoint', help='The circusd ZeroMQ socket to connect to', default=DEFAULT_ENDPOINT_DEALER) parser.add_argument('--pubsub', help='The circusd ZeroMQ pub/sub socket to connect to', default=DEFAULT_ENDPOINT_SUB) parser.add_argument('--config', help='The plugin configuration', default=None) parser.add_argument('--version', action='store_true', default=False, help='Displays Circus version and exits.') parser.add_argument('--check-delay', type=float, default=5., help='Checck delay.') parser.add_argument('plugin', help='Fully qualified name of the plugin class.', nargs='?') parser.add_argument('--log-level', dest='loglevel', default='info', help="log level") parser.add_argument('--log-output', dest='logoutput', default='-', help="log output") parser.add_argument('--ssh', default=None, help='SSH Server') args = parser.parse_args() if args.version: print(__version__) sys.exit(0) if args.plugin is None: parser.print_usage() sys.exit(0) # configure the logger logging.basicConfig() loglevel = LOG_LEVELS.get(args.loglevel.lower(), logging.INFO) logger.setLevel(loglevel) if args.logoutput == "-": h = logging.StreamHandler() else: h = logging.FileHandler(args.logoutput) close_on_exec(h.stream.fileno()) fmt = logging.Formatter(LOG_FMT, LOG_DATE_FMT) h.setFormatter(fmt) logger.addHandler(h) # load the plugin and run it. logger.info('Loading the plugin...') logger.info('Endpoint: %r' % args.endpoint) logger.info('Pub/sub: %r' % args.pubsub) plugin = resolve_name(args.plugin)(args.endpoint, args.pubsub, args.check_delay, args.ssh, **_str2cfg(args.config)) logger.info('Starting') try: plugin.start() except KeyboardInterrupt: pass finally: logger.info('Stopping') plugin.stop() sys.exit(0)
if args.daemonize: daemonize() pidfile = None if args.pidfile: pidfile = Pidfile(args.pidfile) try: pidfile.create(os.getpid()) except RuntimeError, e: print(str(e)) sys.exit(1) # configure the logger loglevel = LOG_LEVELS.get(args.loglevel.lower(), logging.INFO) logger.setLevel(loglevel) if args.logoutput == "-": h = logging.StreamHandler() else: h = logging.FileHandler(args.logoutput) util.close_on_exec(h.stream.fileno()) fmt = logging.Formatter(LOG_FMT, LOG_DATE_FMT) h.setFormatter(fmt) logger.addHandler(h) # load the arbiter from config arbiter = Arbiter.load_from_config(args.config) try: arbiter.start() except KeyboardInterrupt: