Ejemplo n.º 1
0
def purge_queues():
    """
    Purge unused queues
    """
    parser = ArgumentParser(version="Apollo Queue Purger 0.1")
    add_argparse_group(parser)
    parser.add_argument(
        "-p",
        "--pattern",
        default=".worker",
        help="Queue destination substring to match for purge " "candidates (default: %(default)s)",
    )
    parser.set_defaults()
    args = parser.parse_args()
    monitor = monitor_from_args(args)

    # Iterate over all queues and delete unused 'worker' queues
    for queue, dic in list(monitor.queues.items()):
        if args.pattern not in queue:
            continue
        if dic["metrics"]["queue_items"] == 0:
            continue
        if (dic["metrics"]["consumer_count"] + dic["metrics"]["producer_count"]) == 0:
            logger.warn("deleting %s", queue)
            monitor.delete_queue(queue)
Ejemplo n.º 2
0
def start_monitor():
    # Prepare the argument parser
    parser = ArgumentParser(version="ApolloMonitor 0.1")
    add_argparse_group(parser)
    parser.set_defaults()
    args = parser.parse_args()

    monitor = monitor_from_args(args, PrettyMonitor)

    # Wait
    while True:
        sleep(1)
    return monitor
Ejemplo n.º 3
0
def start_monitor():
    # Prepare the argument parser
    parser = ArgumentParser(version='ApolloMonitor 0.1')
    add_argparse_group(parser)
    parser.set_defaults()
    args = parser.parse_args()

    monitor = monitor_from_args(args, PrettyMonitor)

    # Wait
    while True:
        sleep(1)
    return monitor
Ejemplo n.º 4
0
def purge_queues():
    """
    Purge unused queues
    """
    parser = ArgumentParser(version='Apollo Queue Purger 0.1')
    add_argparse_group(parser)
    parser.add_argument('-p', '--pattern', default='.worker',
                        help='Queue destination substring to match for purge '
                             'candidates (default: %(default)s)')
    parser.set_defaults()
    args = parser.parse_args()
    monitor = monitor_from_args(args)

    # Iterate over all queues and delete unused 'worker' queues
    for queue, dic in list(monitor.queues.items()):
        if args.pattern not in queue:
            continue
        if dic['metrics']['queue_items'] == 0:
            continue
        if (dic['metrics']['consumer_count'] + dic['metrics']['producer_count']) == 0:
            logger.warn('deleting %s', queue)
            monitor.delete_queue(queue)