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 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 configure_logger(logger, args.loglevel, args.logoutput) stats = StatsStreamer(args.endpoint, args.pubsub, args.statspoint, args.ssh) # Register some sighandlers to stop the loop when killed for sig in SysHandler.SIGNALS: signal.signal( sig, lambda *_: stats.loop.add_callback_from_signal(stats.stop) ) try: stats.start() finally: stats.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='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)