rabbitmq生产者往队列发送对象代码
时间: 2024-10-27 09:02:09 浏览: 8
RabbitMQ是一个流行的开源消息中间件,常用于分布式系统之间的通信。在Python中使用`pika`库作为RabbitMQ客户端,你可以创建一个生产者来将对象发送到队列。以下是一个简单的例子:
```python
import pika
# 连接到RabbitMQ服务器
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel() # 获取频道
# 创建一个交换机(exchange),这里假设队列名为'queue_name'
channel.exchange_declare(exchange='queue_name', exchange_type='direct')
# 定义一个对象,例如字典或自定义类实例
message_obj = {'key': 'value'}
# 使用序列化(如json)将对象转换为字符串
message = json.dumps(message_obj)
# 发送消息到特定路由键(routing_key)
channel.basic_publish(exchange='queue_name', routing_key='', body=message)
print(f"消息发送成功: {message}")
# 关闭连接
connection.close()
```
在这个例子中,`routing_key`通常为空字符串(''),表示将消息发送到队列本身。如果你需要按照特定规则路由消息,可以提供不同的路由键。
阅读全文