• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

rabbitmq-python封装

python 搞代码 3年前 (2022-05-09) 14次浏览 已收录 0个评论
import pika

class Rabbitmq():
    __new = None
    __init = True

    def __new__(cls, *args, **kwargs):
        if cls.__new is None:
            cls.__new = object.__new__(cls)
        return cls.__new

    def __init__(self,queue):
        '''
        :param queue: 队列名称
        '''
        self.queue = queue
        if Rabbitmq.__init:
            #链接rabbitmq
            pika.PlainCredentials(username='用户名', password='明码')
            self.connection = pika.BlockingConnection(pika.ConnectionParameters(host='IP地址', port=端口号))
            self.channel = self.connection.channel()
            self.channel.basic_qos(prefetch_count=1)    #偏心散发
            self.channel.queue_declare(queue=queue)     #创立队列
            Rabbitmq.__init = False

    def basic_publish(self,body):
        '''
        :param body: 须要插入的数据
        :return:插入数据
        '''
        self.channel.basic_publish(
            exchange='',
            routing_key=self.queue,
            body=body)

    def basic_consume(self,callback):
        '''
        :return: 确认监听队列
        auto_ck:默认应答形式
        '''
        self.channel.basic_consume(
            queue=self.queue,
            auto_ack=True,
            on_message_callback=callback)

    def consume(self):
        '''
        :return:正式监听
        '''
        self.channel.start_consuming()

    def close(self):
        '''
        :return:敞开链接
        '''
        self.connection.close()

if __name__ == '__main__':
    queue = 'ceshi3'
    rbmq = Rabbitmq(queue)
    for i in range(10000):
        print(i)
        rbmq.basic_publish('holler word hahahah'+str(i))

    def callback(ch, method, properties, body):
        print("[x]:", body)

    rbmq.basic_consume(callback)
    rbmq.consume()
    rbmq.close()


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:rabbitmq-python封装
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址