Python-连接RabbitMq

下载依赖包:pip3 install pika

封装公共方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import pika
import json
 
class RaMqStart(object):
    def __init__(self,url,user,pwd,vhost,queue,key,exchange):
        # 初始化数据
        '''
        user:用户 pwd:密码 vhost:虚拟主机 queue:队列 exchange:交换机 key:交换机绑定队列的关键字
        '''
        self.url = url
        self.user = user
        self.pwd = pwd
        self.vhost = vhost
        self.exchange = exchange
        self.queue = queue
        self.key = key
 
        #MQ认证、链接MQ
        self.credentials = pika.PlainCredentials(self.user, self.pwd)
        self.cnnection = pika.BlockingConnection(
            pika.ConnectionParameters(self.url, 5672, self.vhost,  self.credentials))
        self.channel = self.cnnection.channel()
 
    def start_producer(self,body):
        #声明队列
        self.channel.queue_declare(queue=self.queue,
                              durable=True)
        # 发送、发布消息:routing_key--队列名称,body--消息
        self.channel.basic_publish(exchange=self.exchange,
                              routing_key=self.key,
                              body=body)
    def mq_close(self):
        #关闭通讯
        self.cnnection.close()

  

调用函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from public import RaMqStart
import json
 
def mq_run(json_body,vhost,queue,exchange):
 
 
    mq = RaMqStart(
        url="common-mq-test01.shein.com",
        user=vhost,
        pwd=vhost,
        vhost=vhost,
        queue=queue,
        exchange=exchange,
        key=""
    )
 
    #解析json
    body = json.dumps(json_body)
 
    #发送消息
    mq.start_producer(body=body)
    mq.mq_close()
 
if __name__ == '__main__':
    pass

  

posted @   小哈别闹  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示