celery / Librabbitmq
Programming Languages
Projects that are alternatives of or similar to Librabbitmq
================================================================ 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
.. contents:: :local:
Python bindings to the RabbitMQ C-library rabbitmq-c
_.
Supported by Kombu and Celery.
.. _rabbitmq-c
: https://github.com/alanxz/rabbitmq-c
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.
.. # vim: syntax=rst expandtab tabstop=4 shiftwidth=4 shiftround