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(): desc = 'Runs the stats aggregator for Circus' parser = argparse.ArgumentParser(description=desc) parser.add_argument('--endpoint', help='The circusd ZeroMQ socket to connect to', default=util.DEFAULT_ENDPOINT_DEALER) parser.add_argument('--pubsub', help='The circusd ZeroMQ pub/sub socket to connect to', default=util.DEFAULT_ENDPOINT_SUB) parser.add_argument('--statspoint', help='The ZeroMQ pub/sub socket to send data to', default=util.DEFAULT_ENDPOINT_STATS) 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('--version', action='store_true', default=False, help='Displays Circus version and exits.') parser.add_argument('--ssh', default=None, help='SSH Server') args = parser.parse_args() if args.version: print(__version__) 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) util.close_on_exec(h.stream.fileno()) fmt = logging.Formatter(LOG_FMT, LOG_DATE_FMT) h.setFormatter(fmt) logger.addHandler(h) stats = StatsStreamer(args.endpoint, args.pubsub, args.statspoint, args.ssh) try: stats.start() finally: stats.stop() sys.exit(0)
def configure_logger(logger, level='INFO', output="-"): loglevel = LOG_LEVELS.get(level.lower(), logging.INFO) logger.setLevel(loglevel) if output == "-": h = logging.StreamHandler() else: h = logging.FileHandler(output) close_on_exec(h.stream.fileno()) fmt = logging.Formatter(LOG_FMT, LOG_DATE_FMT) h.setFormatter(fmt) logger.addHandler(h)
def main(): desc = 'Runs the stats aggregator for Circus' parser = argparse.ArgumentParser(description=desc) parser.add_argument('--endpoint', help='The circusd ZeroMQ socket to connect to', default='tcp://127.0.0.1:5555') parser.add_argument('--pubsub', help='The circusd ZeroMQ pub/sub socket to connect to', default='tcp://127.0.0.1:5556') parser.add_argument('--statspoint', help='The ZeroMQ pub/sub socket to send data to', default='tcp://127.0.0.1:5557') parser.add_argument('--log-level', dest='loglevel', default='info', help="log level") parser.add_argument('--log-output', dest='logoutput', default='-', help="log output") args = parser.parse_args() # 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) stats = StatsStreamer(args.endpoint, args.pubsub, args.statspoint) try: stats.start() finally: stats.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)
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) logger.debug('Loaded config files %s' % str(cfg_files_read)) # Initialize watchers to manage watchers = [] for section in cfg.sections(): if section.startswith("watcher:"): name = section.split("watcher:", 1)[1] cmd = cfg.get(section, 'cmd') args = cfg.dget(section, 'args', '') if args: cmd = "%s %s" % (cmd, args) numprocesses = cfg.dget(section, 'numprocesses', 1, int)
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: pass finally: arbiter.stop() if pidfile is not None: pidfile.unlink() sys.exit(0)