rabbitmq 教程 一 hello world
2012-09-04 20:16
260 查看
一些概念的理解从张聪那里大概知道了,接下来是实战。参照 www.rabbitmq.com上的教程学习
#在服务器上声明一个队列,用于我们的通信
connection=pika.ConnectionParameters( 'localhost') #如果是远程的服务器,记得要把相应的端口打开,免得被防火墙禁掉。 connection = pika.BlockingConnection(connection) channel=connection.channel()
#在服务器上声明一个队列,用于我们的通信
channel.queue_declare(queue='hello')#hello是队列的名字,当然也可以命名为queue='gauss'
#把一条消息发到服务器的队列上
channel.basic_publish(exchange='',
routing_key='hello',
body='Hello World!')#routing_key将我们想要发送的消息送到hello这个队列。按照‘hello world’原则,exchange选项暂时不管。
如果你要关闭,请
connection.close()
接下来,怎么接受消息呢?
首先呢,还是要先连接服务器,
connection=pika.ConnectionParameters( 'localhost') #如果是远程的服务器,记得要把相应的端口打开,免得被防火墙禁掉。 connection = pika.BlockingConnection(connection) channel=connection.channel()#在服务器上声明一个队列,用于我们的通
教程上说,要加上
channel.queue_declare(queue='hello')
,先申请一个hello队列,如果服务器上已经有了,rabbitmq是不会重复创建的。免得我们去连接一个还没有创建的队列。
#拿到信息之后你要干麽啊,这里就暂时只是显示信息把
def callback(ch, method, properties, body):
print " [x] Received %r" % (body,)#信息处理
怎么拿信息呢
channel.basic_consume(callback,
queue='hello',
no_ack=True)#函数的命名挺好的,consume,这里的no_ack=True是说,服务器你把消息发送出去之后就把那个信息从队列里删了吧。潜台词就是,可以不删除,然后其他消费者还可以取这条消息,怎样就不删除。no_ack=False,其实这个也是默认的。具体下一张讲。
我们可以让这个消费者一直在等待,只要有消息他就去取
print ' [*] Waiting for messages. To exit press CTRL+C'
channel.start_consuming()
tips:
查看服务器上的消息的情况,可以队列上有多少个信息,publish成功了没?consume成功没?
linux用户,sudo rabbitmqctl list_queues
win:这个rabbitmqctl在安装目录的sbin那。
相关文章推荐
- RabbitMQ官方教程之一 “创建 hello world!”
- RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World
- RabbitMQ入门教程 For Java【1】 - Hello World
- [译]RabbitMQ教程C#版 - “Hello World”
- RabbitMQ入门教程 For Java【1】 - Hello World
- RabbitMQ官网教程1——Hello World
- RabbitMQ 基础教程(1) - Hello World
- RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World(转载)
- [译]RabbitMQ系列教程(一):Hello World
- RabbitMQ Java官方教程(一)----Hello World
- RabbitMQ入门教程 For Java【1】 - Hello World
- RabbitMQ官方中文入门教程(PHP版) 第一部分:Hello World
- RabbitMQ官方中文入门教程(PHP版) 第一部分:Hello World
- RabbitMQ官方教程一 "Hello World!"
- (翻译)RabbitMQ官方教程——Hello World
- RabbitMQ(PHP版) 中文入门教程第一部分:Hello World
- RabbitMQ官方中文入门教程(PHP版) 第一部分:Hello World
- RabbitMQ入门教程(三):Hello World
- RabbitMQ官方中文入门教程(PHP版) 第一部分:Hello World
- [译]RabbitMQ教程C#版 - “Hello World”