通过关注基于主题交换的设计模式,简化了与rabbitmq的交互。
thumper的Python项目详细描述
通过关注基于主题的设计模式简化与rabbitmq的交互 交换更多信息请访问: http://www.rabbitmq.com/tutorials/tutorial-five-python.html
目标
接受Kenneth Reitz的thoughts on the 90% rule,即请求模块
根据需要对消息进行序列化,从字符串没有序列化到json,如果更多,则返回到yaml。 简单的开放序列化方法无法序列化对象/消息。即日期时间/日期/十进制/等。
#!/usr/bin/env pythonfromrabbitimportProducerwithProducer(uri)asproducer:formessagein<iterable/generator>:producer.publish(message,routing_key)
fromrabbitimportConsumerwithConsumer(uri,exchange,queue,routing_key)asconsumer:consumer.attach_action(...)consumer.handle_messages(...)
或者为了更好地控制交换机和队列:
fromrabbitimportConsumerwithConsumer(uri)asconsumer:consumer.declare_exchange(...)consumer.declare_queue(...)consumer.attach_action(...)consumer.handle_messages(...)
uri是格式为mq://user:pass@host/vhost的消息队列uri,其中mq://user:pass@localhost==mq://user:pass@localhost/
在uri中,您可以传递用户、密码、主机、端口和vhost信息。有关详细信息,请参见thumper/test/test_mquri.py