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 !

8
demandé sur Community 2013-07-25 20:24:51

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.

3
répondu Philip Cristiano 2013-07-26 11:14:05

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

3
répondu Paul in 't Hout 2017-05-24 02:29:34

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 .

0
répondu Aamir Adnan 2017-05-23 13:40:24