Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Python 操作消息队列

阅读目录
  • 图示
  • 插入消息队列代码
  • 读取消息队列数据

图示

其中P指producer,即生产者;C指consumer,即消费者。中间的红色表示消息队列,实例中表现为HELLO队列。往队列里插入数据前,查看消息队列$sudo rabbitmqctllist_queuesListing queues ...celeryev.db53a5e0-1e6a-4f06-a9f7-2c104c4612fb0...done.

插入消息队列代码

#in_queue.py#coding=utf8import pikaconnection = pika.BlockingConnection(pika.ConnectionParameters("localhost"))channel = connection.channel()#声明队列,如果消息发送到不存在的队列,rabbitmq会自动清除这些消息channel.queue_declare(queue="HELLO")for i in range(10):#exchange表示交换器,可以精确的制定消息应发到哪个队列,route_key设置队列的名称,body表示发送的内容channel.basic_publish(exchange="", routing_key="HELLO", body="Hello World!" + str(i))print " [%d] Sent "Hello World!"" % i#关闭连接connection.close()执行结果$pythonin_queue.py [0] Sent "Hello World!" [1] Sent "Hello World!" [2] Sent "Hello World!" [3] Sent "Hello World!" [4] Sent "Hello World!" [5] Sent "Hello World!" [6] Sent "Hello World!" [7] Sent "Hello World!" [8] Sent "Hello World!" [9] Sent "Hello World!"此时查看消息队列$sudo rabbitmqctllist_queuesListing queues ...HELLO10celeryev.db53a5e0-1e6a-4f06-a9f7-2c104c4612fb0...done.可以看到队列HELLO里面有10条数据。

读取消息队列数据

#out_queue.py#coding=utf8import pikaconnection = pika.BlockingConnection(pika.ConnectionParameters("localhost"))channel = connection.channel()channel.queue_declare(queue="HELLO")def callback(ch, method, properties, body):print " [x] Received %r" % (body,)channel.basic_consume(callback, queue="HELLO", no_ack=True)print " [*] Waiting for messages. To exit press CTRL+C"channel.start_consuming()执行结果$python out_queue.py[*] Waiting for messages. To exit press CTRL+C [x] Received "Hello World!0" [x] Received "Hello World!1" [x] Received "Hello World!2" [x] Received "Hello World!3" [x] Received "Hello World!4" [x] Received "Hello World!5" [x] Received "Hello World!6" [x] Received "Hello World!7" [x] Received "Hello World!8" [x] Received "Hello World!9"此时查看消息队列$sudo rabbitmqctllist_queuesListing queues ...HELLO0celeryev.db53a5e0-1e6a-4f06-a9f7-2c104c4612fb0...done.可以看到队列HELLO中的数据被读走了,条数为0。Ubuntu 14.04安装Python 3.3.5  http://www.linuxidc.com/Linux/2014-05/101481.htmCentOS上源码安装Python3.4  http://www.linuxidc.com/Linux/2015-01/111870.htm《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htmPython脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm在Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htmPython 语言的发展简史 http://www.linuxidc.com/Linux/2014-09/107206.htmPython 的详细介绍:请点这里
Python 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134454.htm