Printqueues
snoop.data.management.commands.printqueues
#
Print table with rabbitMQ queue depth.
Classes#
Command
#
Print queue depth for all queues.
Methods#
handle(self, **options)
#
Runs snoop.data.admin.get_stats and prints result.
Source code in snoop/data/management/commands/printqueues.py
def handle(self, **options):
"""Runs [snoop.data.admin.get_stats][] and prints result.
"""
logging_for_management_command(options['verbosity'])
tasks.import_snoop_tasks()
collection_list = sorted(collections.ALL.values(), key=lambda x: x.name)
queue_list = list(set(f.queue for f in tasks.task_map.values() if f.queue))
random.shuffle(collection_list)
random.shuffle(queue_list)
for collection in collection_list:
log.info(f'{"=" * 10} collection "{collection.name}" {"=" * 10}')
for q in queue_list:
if q:
q = collection.queue_name + '.' + q
log.info('queue "%s": depth = %s', q, tasks.get_rabbitmq_queue_length(q))