python 连接rabbitmq的简单示例
生产和消费模拟脚本
生产者python脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@mq01 ~]# cat send.py #!/usr/bin/env python #coding=utf8 import pika import random connection = pika.BlockingConnection(pika.ConnectionParameters( 'localhost')) channel = connection.channel() channel.queue_declare(queue='hello') body=str(random.randint(1,100))+'-Hello World!' channel.basic_publish(exchange='', routing_key='hello', body=body) print " [x] Sent " + body connection.close() |
消费者python脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@mq01 ~]# cat recive.py #!/usr/bin/env python import pika connection = pika.BlockingConnection(pika.ConnectionParameters(host='10.0.0.33')) channel = connection.channel() channel.queue_declare(queue='hello') def callback(ch, method, properties, body): print(" [x] Received %r" % body) channel.basic_consume("hello", callback ) print(' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming() |
测试
开启三个会话执行消费者脚本
1 2 3 4 5 6 7 8 |
# 第一个会话 [root@mq01 ~]# python recive.py # 第二个会话 [root@mq01 ~]# python recive.py # 第三个会话 [root@mq01 ~]# python recive.py |
开启第四个会话执行生产者脚本
1 2 3 4 5 6 |
[root@mq01 ~]# python send.py [x] Sent 74-Hello World! [root@mq01 ~]# python send.py [x] Sent 72-Hello World! [root@mq01 ~]# python send.py [x] Sent 95-Hello World! |
三个消费者会话会出现如下
1 2 3 4 5 6 7 8 |
# 第一个会话 [x] Received '74-Hello World!' # 第二个会话 [x] Received '72-Hello World!' # 第三个会话 [x] Received '95-Hello World!' |