通过 http 方式判断 RabbitMQ 队列是否存在

# summary: 通过 http 方式获取 RabbitMQ 队列状态

# import os, sys, time
import requests
import json
from nlp_property import NLP_FRAMEWORK_IP
from urllib import parse


class RabbitMQTool:
    def __init__(self, host, vhost, queue):
        self.host = host
        self.vhost = vhost
        self.queue = queue
        self.user = 'admin'
        self.passwd = 'admin@0'

    def get_queue_status(self):

        vhost = parse.quote_plus(self.vhost)
        queue = parse.quote_plus(self.queue)

        url = 'http://%s:15672/api/queues/%s/%s' % (self.host, vhost, queue)

        # url = url.encode(encoding='utf-8')

        # url = 'http://%s:15672/api/queues' % self.host
        print(url)
        # r = requests.get(url, auth=(self.user, self.passwd))
        r = requests.get(url, auth=(self.user, self.passwd))
        print(r)
        if r.status_code != 200:
            return False
        else:
            return True

        # dic = json.loads(r.text)
        # print(dic)
        #
        # return dic['messages_ready'], dic['messages_unacknowledged'], dic['messages']


if __name__ == '__main__':
    mqTool = RabbitMQTool(host=NLP_FRAMEWORK_IP,
                          vhost="/",
                          queue="nlp.classify.cnn.banktest.request.#")

    status = mqTool.get_queue_status()
    print(status)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值