Пример #1
0
def cli(ctx, verbose, comm_class):
    comm_class = str(comm_class)
    source = 'console-%d' % int(time.time())

    loglevel = logging.WARNING
    if verbose > 0:
        loglevel = logging.INFO
    if verbose > 1:
        loglevel = logging.DEBUG
    logging.basicConfig(
        level=loglevel,
        format="%(asctime)s (%(process)d)%(module)s.%(funcName)s"
               " %(levelname)s: %(message)s",
        datefmt="%Y-%m-%dT%H:%M:%S"
    )

    comm = minemeld.comm.factory(comm_class, {})  # XXX should support config
    comm.request_rpc_server_channel(
        source,
        FakeNode(),
        allowed_methods=['update']
    )

    gevent.signal(signal.SIGTERM, comm.stop)
    gevent.signal(signal.SIGQUIT, comm.stop)
    gevent.signal(signal.SIGINT, comm.stop)

    comm.start()

    ctx.obj['COMM'] = comm
    ctx.obj['SOURCE'] = source
Пример #2
0
def cli(ctx, verbose, comm_class):
    comm_class = str(comm_class)
    source = 'console-%d' % int(time.time())

    loglevel = logging.WARNING
    if verbose > 0:
        loglevel = logging.INFO
    if verbose > 1:
        loglevel = logging.DEBUG
    logging.basicConfig(
        level=loglevel,
        format="%(asctime)s (%(process)d)%(module)s.%(funcName)s"
        " %(levelname)s: %(message)s",
        datefmt="%Y-%m-%dT%H:%M:%S")

    comm = minemeld.comm.factory(comm_class, {})  # XXX should support config

    gevent.signal(signal.SIGTERM, comm.stop)
    gevent.signal(signal.SIGQUIT, comm.stop)
    gevent.signal(signal.SIGINT, comm.stop)

    comm.start()

    ctx.obj['COMM'] = comm
    ctx.obj['SOURCE'] = source
Пример #3
0
def main():
    def _sigint_handler():
        raise KeyboardInterrupt('Ctrl-C from _sigint_handler')

    def _sigterm_handler():
        raise KeyboardInterrupt('Ctrl-C from _sigterm_handler')

    def _cleanup():
        trace_writer.stop()
        query_processor.stop()
        store.stop()
        comm.stop()

    args = _parse_args()

    loglevel = logging.INFO
    if args.verbose:
        loglevel = logging.DEBUG

    logging.basicConfig(
        level=loglevel,
        format="%(asctime)s (%(process)d)%(module)s.%(funcName)s"
               " %(levelname)s: %(message)s",
        datefmt="%Y-%m-%dT%H:%M:%S"
    )
    LOG.info('Starting mm-traced version %s', __version__)
    LOG.info('mm-traced arguments: %s', args)

    with open(args.config, 'r') as f:
        config = yaml.safe_load(f)
    if config is None:
        config = {}

    LOG.info('mm-traced config: %s', config)

    store = minemeld.traced.storage.Store(config.get('store', None))

    transport_config = config.get('transport', {
        'class': 'AMQP',
        'config': {
            'num_connections': 1
        }
    })
    comm = minemeld.comm.factory(
        transport_config['class'],
        transport_config['config']
    )

    trace_writer = minemeld.traced.writer.Writer(
        comm,
        store,
        topic=config.get('topic', 'mbus:log')
    )

    query_processor = minemeld.traced.queryprocessor.QueryProcessor(
        comm,
        store,
        config=config.get('queryprocessor', {})
    )

    shutdown_event = gevent.event.Event()
    comm.add_failure_listener(
        functools.partial(_ioloop_failure, shutdown_event)
    )

    comm.start()

    gevent.signal(signal.SIGINT, _sigint_handler)
    gevent.signal(signal.SIGTERM, _sigterm_handler)

    try:
        shutdown_event.wait()

    except KeyboardInterrupt:
        pass

    except:
        LOG.exception('Exception')

    finally:
        _cleanup()
Пример #4
0
def main():
    def _sigint_handler():
        raise KeyboardInterrupt('Ctrl-C from _sigint_handler')

    def _sigterm_handler():
        raise KeyboardInterrupt('Ctrl-C from _sigterm_handler')

    def _cleanup():
        trace_writer.stop()
        query_processor.stop()
        store.stop()
        comm.stop()

    args = _parse_args()

    loglevel = logging.INFO
    if args.verbose:
        loglevel = logging.DEBUG

    logging.basicConfig(
        level=loglevel,
        format="%(asctime)s (%(process)d)%(module)s.%(funcName)s"
        " %(levelname)s: %(message)s",
        datefmt="%Y-%m-%dT%H:%M:%S")
    LOG.info('Starting mm-traced version %s', __version__)
    LOG.info('mm-traced arguments: %s', args)

    with open(args.config, 'r') as f:
        config = yaml.safe_load(f)
    if config is None:
        config = {}

    LOG.info('mm-traced config: %s', config)

    store = minemeld.traced.storage.Store(config.get('store', None))

    transport_config = config.get('transport', {
        'class': 'AMQP',
        'config': {
            'num_connections': 1
        }
    })
    comm = minemeld.comm.factory(transport_config['class'],
                                 transport_config['config'])

    trace_writer = minemeld.traced.writer.Writer(comm,
                                                 store,
                                                 topic=config.get(
                                                     'topic', 'mbus:log'))

    query_processor = minemeld.traced.queryprocessor.QueryProcessor(
        comm, store, config=config.get('queryprocessor', {}))

    shutdown_event = gevent.event.Event()
    comm.add_failure_listener(
        functools.partial(_ioloop_failure, shutdown_event))

    comm.start()

    gevent.signal(signal.SIGINT, _sigint_handler)
    gevent.signal(signal.SIGTERM, _sigterm_handler)

    try:
        shutdown_event.wait()

    except KeyboardInterrupt:
        pass

    except:
        LOG.exception('Exception')

    finally:
        _cleanup()