Récupérer la longueur de la file d'attente avec du céleri (RabbitMQ, Django)
j'utilise du céleri dans un projet django, mon courtier est RabbitMQ, et je veux récupérer la longueur des files d'attente. J'ai parcouru le code du céleri mais je n'ai pas trouvé l'outil pour le faire. J'ai trouvé ce problème sur stackoverflow ( vérifier la taille de la file D'attente RabbitMQ du client ), mais je ne le trouve pas satisfaisant.
tout est configuré en céleri, donc il devrait y avoir une sorte de méthode magique pour récupérer ce que je veux, sans spécifier un canal / connexion.
quelqu'un a une idée sur cette question ?
Merci !
3 réponses
PyRabbit est probablement ce que vous recherchez, c'est une interface Python pour L'API D'interface de gestion RabbitMQ. Il vous permettra de rechercher des files d'attente et leurs messages actuels comptent.
Voici un exemple sur la façon de lire la longueur de file d'attente dans rabbitMQ pour une file d'attente:
def get_rabbitmq_queue_length(q):
from pyrabbit.api import Client
from pyrabbit.http import HTTPError
count = 0
try:
cl = Client('localhost:15672', 'guest', 'guest')
if cl.is_alive():
count = cl.get_queue_depth('/', q)
except HTTPError as e:
print "Exception: Could not establish to rabbitmq http api: " + str(e) + " Check for port, proxy, username/pass configuration errors"
raise
return count
pyrabbit comme précédemment suggéré par Philip "151970920
vous pouvez inspecter les travailleurs dans le céleri en utilisant le module inspect
. Voici le guide .
Aussi pour les RabbitMQ
il y a quelques ligne de commande .