Unverified Commit f0a6a868 authored by Dan Jones's avatar Dan Jones
Browse files

fix: correct get_queue_status

Still need to think about the API response structure
parent 12feaceb
import logging
from flask_restful import Resource, abort, request
from flask_restful import request
from endpoints.auth_resource import AuthResource
from models.client_model import ClientModel
from rmq import get_queue_size
from rmq import get_queue_status
class QueueList(Resource):
class QueueList(AuthResource):
def __init__(self):
self.clients_file = ClientModel()
def get(self):
# return list of clients with secret property removed
return {
client_id: {
"inbox": get_queue_size(f"{client_id}-inbox"),
"outbox": get_queue_size(f"{client_id}-outbox"),
"broadcast": get_queue_size(f"{client_id}-broadcast"),
allow = self.auth(request)
if allow:
return {
client_id: {
"inbox": get_queue_status(f"{client_id}-inbox")["size"],
"outbox": get_queue_status(f"{client_id}-outbox")["size"],
"broadcast": get_queue_status(f"{client_id}-broadcast")["size"],
}
for client_id in self.clients_file.get().keys()
}
for client_id in self.clients_file.get().keys()
}
......@@ -223,11 +223,12 @@ def listen(queue_name, callback):
channel.start_consuming()
def get_queue_size(queue_name):
def get_queue_status(queue_name):
_, channel = pika_connect(host=host)
response = channel.queue_declare(queue=queue_name, passive=True)
logging.info(str(vars(response.method)))
# queue_size = vars(response.method)['method_count']
# queue_size = response.method.method_count
# logging.debug(f"Queue: {queue_name} contains {queue_size} messages")
return 0 # queue_size
queue_status = {
"size": response.method.message_count,
"has_consumer": response.method.consumer_count > 0,
}
logging.debug(f"Queue: {queue_name} contains {queue_status['size']} messages")
return queue_status
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment