1,消息推送类
![]()
1 import pika
2
3
4 # 同步消息推送类
5 class RabbitPublisher(object):
6
7 # 传入RabbitMQ的ip,用户名,密码,实例化一个管道
8 def __init__(self, host, user, password):
9 self.host = host
10 self.user = user
11 self.password = password
12 self.connection = pika.BlockingConnection(pika.ConnectionParameters(host=self.host, credentials=pika.PlainCredentials(self.user, self.password)))
13 self.channel = self.connection.channel()
14
15 # 发送消息在队列中
16 def send(self, queue_name, body):
17 self.channel.queue_declare(queue=queue_name, durable=True) # 声明一个持久化队列
18 self.channel.basic_publish(exchange='',
19 routing_key=queue_name, # 队列名字
20 body=body, # 消息内容
21 properties=pika.BasicProperties(
22 delivery_mode=2, # 消息持久化
23 ))
24
25 # 清除指定队列的所有的消息
26 def purge(self, queue_name):
27 self.channel.queue_purge(queue_name)
28
29 # 删除指定队列
30 def delete(self, queue_name, if_unused=False, if_empty=False):
31 self.channel.queue_delete(queue_name, if_unused=if_unused, if_empty=if_empty)
32
33 # 断开连接
34 def stop(self):
35 self.connection.close()
View Code