rabittmq 工具类
时间: 2024-05-14 08:16:21 浏览: 6
RabbitMQ 是一个消息队列的中间件,可以用于解决分布式系统中的异步通信问题。下面是一个 RabbitMQ 工具类的示例代码,提供了常见的操作方法:
```python
import pika
class RabbitMQ:
def __init__(self, host='localhost', port=5672, username='guest', password='guest', queue_name=''):
self.host = host
self.port = port
self.username = username
self.password = password
self.queue_name = queue_name
self.connection = None
self.channel = None
def connect(self):
credentials = pika.PlainCredentials(self.username, self.password)
parameters = pika.ConnectionParameters(self.host, self.port, '/', credentials)
self.connection = pika.BlockingConnection(parameters)
self.channel = self.connection.channel()
def close(self):
self.connection.close()
def send_message(self, message):
self.channel.queue_declare(queue=self.queue_name)
self.channel.basic_publish(exchange='', routing_key=self.queue_name, body=message)
def receive_message(self):
method, properties, body = self.channel.basic_get(queue=self.queue_name, auto_ack=True)
return body.decode() if body else None
```
使用示例:
```python
mq = RabbitMQ(queue_name='test')
mq.connect()
mq.send_message('Hello, World!')
message = mq.receive_message()
print(message)
mq.close()
```
以上代码实现了 RabbitMQ 的连接、发送消息、接收消息和关闭连接等常见操作。需要注意的是,本文仅提供了一个简单的工具类示例,实际使用时可能需要更加完善的异常处理、消息确认等功能。