GitHub - celery/librabbitmq: Python bindings to librabbitmq-c (original) (raw)
librabbitmq - Python AMQP Client using the rabbitmq-c library.
Version: | 2.0.0 |
---|---|
Download: | http://pypi.python.org/pypi/librabbitmq/ |
Code: | http://github.com/celery/librabbitmq/ |
Keywords: | rabbitmq, amqp, messaging, librabbitmq, rabbitmq-c, python, kombu, celery |
Python bindings to the RabbitMQ C-library rabbitmq-c. Supported by Kombu and Celery.
Installation
Install via pip:
$ pip install librabbitmq
or, install via easy_install:
$ easy_install librabbitmq
Downloading and installing from source
Download the latest version from
http://pypi.python.org/pypi/librabbitmq/
Then install it by doing the following,:
$ tar xvfz librabbitmq-0.0.0.tar.gz $ cd librabbitmq-0.0.0 $ python setup.py build
python setup.py install # as root
Using the development version
You can clone the repository by doing the following:
$ git clone git://github.com/celery/librabbitmq.git
Then install it by doing the following:
$ cd librabbitmq $ make install # or make develop
Examples
Using with Kombu:
from kombu import Connection x = Connection("librabbitmq://")
Stand-alone:
from librabbitmq import Connection
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)
Producing
channel.basic_publish(body, exchange, routing_key, ...)
Consuming
def dump_message(message): ... print("Body:'%s', Properties:'%s', DeliveryInfo:'%s'" % ( ... message.body, message.properties, message.delivery_info)) ... message.ack()
channel.basic_consume(queue, ..., callback=dump_message)
while True: ... connection.drain_events()
Poll
message = channel.basic_get(queue, ...) if message: ... dump_message(message) ... print("Body:'%s' Properties:'%s' DeliveryInfo:'%s'" % ( ... message.body, message.properties, message.delivery_info))
Other
channel.queue_unbind(queue, ...) channel.close() connection.close()
License
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.