Version: | 0.5.0 |
---|---|
Download: | http://pypi.python.org/pypi/pylibrabbitmq/ |
Code: | http://github.com/ask/pylibrabbitmq/ |
Keywords: | rabbitmq, amqp, messaging, librabbitmq, rabbitmq-c, python |
Experimental Python bindings to the RabbitMQ C-library librabbitmq.
You should probably use amqplib instead, but when needed you can come back to this if the extra performance is needed.
To install you need to compile librabbitmq:
$ mkdir -p /opt/Build/rabbit $ cd /opt/Build/rabbit $ hg clone http://hg.rabbitmq.com/rabbitmq-codegen/ $ hg clone http://hg.rabbitmq.com/rabbitmq-c/ $ cd rabbitmq-c $ autoreconf -i $ ./configure $ make $ make install
Then you can install this package:
$ cd pylibrabbitmq-x.x.x $ python setup.py install
>>> from pylibrabbitmq import Connection, Message>>> conn = Connection(host="localhost", userid="guest", ... password="guest", virtual_host="/")>>> channel = conn.channel() >>> channel.exchange_declare(exchange, type, ...) >>> channel.queue_declare(queue, ...) >>> channel.queue_bind(queue, exchange, routing_key)
>>> m = Message(body, content_type=None, content_encoding=None, ... delivery_mode=1) >>> channel.basic_publish(m, exchange, routing_key, ...)
>>> def dump_message(message): ... print("Body:'%s', Proeprties:'%s', DeliveryInfo:'%s'" % ( ... message.body, message.properties, message.delivery_info)) ... message.ack()>>> channel.basic_consume(queue, ..., callback=dump_message)>>> while True: ... connection.drain_events()
>>> message = channel.basic_get(queue, ...) >>> if message: ... dump_message(message) ... print("Body:'%s' Properties:'%s' DeliveryInfo:'%s'" % ( ... message.body, message.properties, message.delivery_info))
>>> channel.queue_unbind(queue, ...) >>> channel.close() >>> connection.close()
This software is licensed under the Mozilla Public License
.
See the LICENSE-MPL-RabbitMQ
file in the top distribution directory
for the full license text.