RabbitMQ(一) -- Hello world

RabbitMQ -- Hello world

RabbitMQ使用AMQP通信协议(AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。)。

安装

具体教程参考:http://www.rabbitmq.com/tutorials/tutorial-one-python.html

安装python的开发库

sudo pip install pika==0.9.8

安装rabbitmq服务

sudo apt-get install rabbitmq-server

启动rabbit服务

rabbitmq-server start

Hello World

发送

  • 通过使用pika第三方库来连接,本例中为localhost本地连接。 
  • 通过queue_declare来创建一个消息队列
  • 发送消息basic_publish
  • 关闭链接close
复制代码
#!/usr/bin/env python
# coding=utf-8

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_publish(exchange='', routing_key='hello', body='hello world!')

print 'Sent "hello world"'

connection.close()
复制代码

接收

  • 通过使用pika第三方库来连接,本例中为localhost本地连接。 
  • 通过queue_declare来创建一个消息队列(推荐,由于接收之前消息队列有可能并没有创建过)
  • 指定消息队列和回调函数basic_consume
  • 开始接受消息start_consuming
复制代码
#!/usr/bin/env python
# coding=utf-8

import pika

def callback(ch, method, properties, body):
print 'receive %r'%body

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_consume(callback, queue='hello', no_ack=True)

channel.start_consuming()
复制代码

 

posted @   cococo点点  阅读(1177)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
点击右上角即可分享
微信分享提示