Version: | 0.4.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()