ubuntu安装rabbitmq和python的使用实现
来源:互联网 发布:农产品交易软件 编辑:程序博客网 时间:2024/05/21 05:40
安装rabbitmq
先来安装下rabbitmq,在ubuntu 12.04下可以直接通过apt-get安装:
sudo apt-get install rabbitmq-server
安装好以后RabbitMQ的服务就启动了,那么接下来我们就可以用Python来实现发送和接收的过程了,在编写代码之前,我们先看下基本的原理:
其中P是Producer,也就是生产者的意思或称作消息的发送者,C是Consumer,也就是消费者,消息的接收方,Hello是队列的名字。根据上图显示,我们需要一个发送者和一个接收者,那就需要编写send.py和receive.py
python使用rabbitmq服务,可以使用现成的类库pika、txAMQP或者py-amqplib,这里我们选择官方指导中的pika。
安装pika
安装pika可以使用pip来进行安装,pip是python的软件管理包,如果没有安装,可以通过apt-get安装
sudo apt-get install python-pip git-core接下来安装pika:
sudo pip install pika
send.py
基本过程:
1.连接RabbitMQ服务
注:当前的实验环境在本机,所以连接地址是localhost,根据实际需要可以更改实际的IP地址connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))channel = connection.channel()
2.声明消息队列
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')注:发送消息到上面声明的hello队列,其中exchange表示交换器,能精确指定消息应该发送到哪个队列,routing_key设置为队列的名称,body就是发送的内容
4.关闭连接
connection.close()
完整代码如下:
#!/usr/bin/env pythonimport pikaconnection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))channel = connection.channel()channel.queue_declare(queue='hello')channel.basic_publish(exchange='',routing_key='hello',body='Hello World!')print " [x] Sent 'Hello World!'"connection.close()
先来执行下这个程序,执行成功的话,rabbitmqctl应该成功增加了hello队列,并且队列里应该有一条信息,用rabbitmqctl命令来查看下:
rabbitmqctl list_queues
receive.py
和send.py的前面两个步骤一样,都是要先连接服务器,然后声明消息的队列,这里就不再贴同样代码了。
接收消息更为复杂一些,需要定义一个回调函数来处理,这边的回调函数就是将信息打印出来。
def callback(ch, method, properties, body): print "Received %r" % (body,)
完整代码:
import pikaconnection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))channel = connection.channel()channel.queue_declare(queue='hello')print ' [*] Waiting for messages. To exit press CTRL+C'def callback(ch, method, properties, body): print " [x] Received %r" % (body,)channel.basic_consume(callback,queue='hello',no_ack=True)channel.start_consuming()
小试牛刀:
接下来我们就可以运行两端程序来检测是否成功了:
0 0
- ubuntu安装rabbitmq和python的使用实现 (1)
- ubuntu安装rabbitmq和python的使用实现
- ubuntu安装rabbitmq和python的使用实现
- ubuntu安装rabbitmq和python的使用实现
- rabbitmq的安装和使用
- RabbitMQ安装和使用
- RabbitMq在ubuntu的安装
- Python中ubuntu下的mongodb的安装和使用
- RabbitMQ安装和使用详解
- RabbitMQ安装,配置和使用
- rabbitMQ Ubuntu下 安装指南(erlang和rabbitmq)
- Ubuntu 安装 RabbitMQ 和PHP扩展
- Ubuntu系统下安装Erlang和RabbitMQ
- rabbitmq的安装与使用
- RabbitMQ的安装与使用
- RabbitMQ的入门和安装
- rabbitMQ之linux系统安装和使用rabbitMQ
- ubuntu 下安装rabbitmq
- 获取城市天气信息的简单例子-----WebService
- 简单的快排函数
- 305
- Hadoop Shell命令字典(可收藏)
- C 十字链表
- ubuntu安装rabbitmq和python的使用实现
- String的split()方法探索和大揭秘
- Java关键字final、static使用总结
- 实现CDHtmlDialog无标题栏拖动窗口
- JVM实用参数(四)内存调优
- Android Webview加载网页时发送HTTP头信息
- 2008server 共享您没有权限访问\\IP\d,请与网络管理员联系请求访问权限
- 在ArcGIS Desktop中进行三参数或七参数精确投影转换
- 酷狗音乐播放器2014 v7.6.1.0 官方免费版