PK=@-^>^>kombu-1.0/py-modindex.html Python Module Index — Kombu 2.2.0rc2 documentation



PK=@W\MMkombu-1.0/index.html Kombu Documentation — Kombu 2.2.0rc2 documentation

Kombu Documentation

Contents:

Indices and tables

Kombu

Kombu is an AMQP messaging framework for Python.

This Page




PK=@;h!fDfDkombu-1.0/changelog.html Change history — Kombu 2.2.0rc2 documentation

Change history

2.1.7

release-date:2012-04-27 6:00 P.M BST
  • compat consumerset now accepts optional channel argument.

2.1.6

release-date:2012-04-23 1:30 P.M BST
  • SQLAlchemy transport was not working correctly after URL parser change.

  • maybe_declare now stores cached declarations per underlying connection instead of globally, in the rare case that data disappears from the broker after connection loss.

  • Django: Added South migrations.

    Contributed by Joseph Crosland.

2.1.5

release-date:2012-04-13 3:30 P.M BST
  • The url parser removed more than the first leading slash (Issue #121).

  • SQLAlchemy: Can now specify url using + separator

    Example:

    BrokerConnection("sqla+mysql://localhost/db")
    
  • Better support for anonymous queues (Issue #116).

    Contributed by Michael Barrett.

  • Connection.as_uri now quotes url parts (Issue #117).

  • Beanstalk: Can now set message TTR as a message property.

    Contributed by Andrii Kostenko

2.1.4

release-date:2012-04-03 4:00 P.M GMT
  • MongoDB: URL parsing are now delegated to the pymongo library (Fixes Issue #103 and Issue #87).

    Fix contributed by Flavio Percoco Premoli and James Sullivan

  • SQS: A bug caused SimpleDB to be used even if sdb persistence was not enabled (Issue #108).

    Fix contributed by Anand Kumria.

  • Django: Transaction was committed in the wrong place, causing data cleanup to fail (Issue #115).

    Fix contributed by Daisuke Fujiwara.

  • MongoDB: Now supports replica set URLs.

    Contributed by Flavio Percoco Premoli.

  • Redis: Now raises a channel error if a queue key that is currently being consumed from disappears.

    Fix contributed by Stephan Jaekel.

  • All transport ‘channel_errors’ lists now includes StdChannelError.

  • All kombu exceptions now inherit from a common KombuError.

2.1.3

release-date:2012-03-20 3:00 P.M GMT
by:Ask Solem
  • Fixes Jython compatibility issues.
  • Fixes Python 2.5 compatibility issues.

2.1.2

release-date:2012-03-01 01:00 P.M GMT
by:Ask Solem
  • amqplib: Last version broke SSL support.

2.1.1

release-date:2012-02-24 02:00 P.M GMT
by:Ask Solem
  • Connection URLs now supports encoded characters.

  • Fixed a case where connection pool could not recover from connection loss.

    Fix contributed by Florian Munz.

  • We now patch amqplib’s __del__ method to skip trying to close the socket if it is not connected, as this resulted in an annoying warning.

  • Compression can now be used with binary message payloads.

    Fix contributed by Steeve Morin.

2.1.0

release-date:2012-02-04 10:38 P.M GMT
by:Ask Solem
  • MongoDB: Now supports fanout (broadcast) (Issue #98).

    Contributed by Scott Lyons.

  • amqplib: Now detects broken connections by using MSG_PEEK.

  • pylibrabbitmq: Now supports basic_get (Issue #97).

  • gevent: Now always uses the select polling backend.

  • pika transport: Now works with pika 0.9.5 and 0.9.6dev.

    The old pika transport (supporting 0.5.x) is now available as alias oldpika.

    (Note terribly latency has been experienced with the new pika versions, so this is still an experimental transport).

  • Virtual transports: can now set polling interval via the transport options (Issue #96).

    Example:

    >>> BrokerConnection("sqs://", transport_options={
    ...     "polling_interval": 5.0})
    

    The default interval is transport specific, but usually 1.0s (or 5.0s for the Django database transport, which can also be set using the KOMBU_POLLING_INTERVAL setting).

  • Adds convenience function: kombu.common.eventloop().

2.0.0

release-date:2012-01-15 18:34 P.M GMT
by:Ask Solem

Important Notes

Python Compatibility

  • No longer supports Python 2.4.

    Users of Python 2.4 can still use the 1.x series.

    The 1.x series has entered bugfix-only maintenance mode, and will stay that way as long as there is demand, and a willingness to maintain it.

New Transports

  • django-kombu is now part of Kombu core.

    The Django message transport uses the Django ORM to store messages.

    It uses polling, with a default polling interval of 5 seconds. The polling interval can be increased or decreased by configuring the KOMBU_POLLING_INTERVAL Django setting, which is the polling interval in seconds as an int or a float. Note that shorter polling intervals can cause extreme strain on the database: if responsiveness is needed you shall consider switching to a non-polling transport.

    To use it you must use transport alias "django", or as an URL:

    django://

    and then add kombu.transport.django to INSTALLED_APPS, and run manage.py syncdb to create the necessary database tables.

    Upgrading

    If you have previously used django-kombu, then the entry in INSTALLED_APPS must be changed from djkombu to kombu.transport.django:

    INSTALLED_APPS = (…,
                      "kombu.transport.django")

    If you have previously used django-kombu, then there is no need to recreate the tables, as the old tables will be fully compatible with the new version.

  • kombu-sqlalchemy is now part of Kombu core.

    This change requires no code changes given that the sqlalchemy transport alias is used.

News

  • kombu.mixins.ConsumerMixin is a mixin class that lets you easily write consumer programs and threads.

    See Examples and Consumers.

  • SQS Transport: Added support for SQS queue prefixes (Issue #84).

    The queue prefix can be set using the transport option queue_name_prefix:

    BrokerTransport("SQS://", transport_options={
        "queue_name_prefix": "myapp"})
    

    Contributed by Nitzan Miron.

  • Producer.publish now supports automatic retry.

    Retry is enabled by the reply argument, and retry options set by the retry_policy argument:

    exchange = Exchange("foo")
    producer.publish(message, exchange=exchange, retry=True,
                     declare=[exchange], retry_policy={
                        "interval_start": 1.0})
    

    See ensure() for a list of supported retry policy options.

  • Producer.publish now supports a declare keyword argument.

    This is a list of entities (Exchange, or Queue) that should be declared before the message is published.

Fixes

  • Redis transport: Timeout was multiplied by 1000 seconds when using select for event I/O (Issue #86).

1.5.1

release-date:2011-11-30 01:00 P.M GMT
by:Ask Solem
  • Fixes issue with kombu.compat introduced in 1.5.0 (Issue #83).

  • Adds the ability to disable content_types in the serializer registry.

    Any message with a content type that is disabled will be refused. One example would be to disable the Pickle serializer:

    >>> from kombu.serialization import registry
    # by name
    >>> registry.disable("pickle")
    # or by mime-type.
    >>> registry.disable("application/x-python-serialize")
    

1.5.0

release-date:2011-11-27 06:00 P.M GMT
by:Ask Solem
  • kombu.pools: Fixed a bug resulting in resources not being properly released.

    This was caused by the use of __hash__ to distinguish them.

  • Virtual transports: Dead-letter queue is now disabled by default.

    The dead-letter queue was enabled by default to help application authors, but now that Kombu is stable it should be removed. There are after all many cases where messages should just be dropped when there are no queues to buffer them, and keeping them without supporting automatic cleanup is rather considered a resource leak than a feature.

    If wanted the dead-letter queue can still be enabled, by using the deadletter_queue transport option:

    >>> x = BrokerConnection("redis://",
    ...       transport_options={"deadletter_queue": "ae.undeliver"})
    

    In addition, an UndeliverableWarning is now emitted when the dead-letter queue is enabled and a message ends up there.

    Contributed by Ionel Maries Cristian.

  • MongoDB transport now supports Replicasets (Issue #81).

    Contributed by Ivan Metzlar.

  • The Connection.ensure methods now accepts a max_retries value of 0.

    A value of 0 now means do not retry, which is distinct from None which means retry indefinitely.

    Contributed by Dan McGee.

  • SQS Transport: Now has a lowercase sqs alias, so that it can be used with broker URLs (Issue #82).

    Fix contributed by Hong Minhee

  • SQS Transport: Fixes KeyError on message acknowledgements (Issue #73).

    The SQS transport now uses UUID’s for delivery tags, rather than a counter.

    Fix contributed by Brian Bernstein.

  • SQS Transport: Unicode related fixes (Issue #82).

    Fix contributed by Hong Minhee.

  • Redis version check could crash because of improper handling of types (Issue #63).

  • Fixed error with Resource.force_close_all when resources were not yet properly initialized (Issue #78).

1.4.3

release-date:2011-10-27 10:00 P.M BST
  • Fixes bug in ProducerPool where too many resources would be acquired.

1.4.2

release-date:2011-10-26 05:00 P.M BST
by:Ask Solem
  • Eventio: Polling should ignore errno.EINTR

  • SQS: str.encode did only start accepting kwargs after Py2.7.

  • simple_task_queue example didn’t run correctly (Issue #72).

    Fix contributed by Stefan Eletzhofer.

  • Empty messages would not raise an exception not able to be handled by on_decode_error (Issue #72)

    Fix contributed by Christophe Chauvet.

  • CouchDB: Properly authenticate if user/password set (Issue #70)

    Fix contributed by Rafael Duran Castaneda

  • BrokerConnection.Consumer had the wrong signature.

    Fix contributed by Pavel Skvazh

1.4.1

release-date:2011-09-26 04:00 P.M BST
by:Ask Solem
  • 1.4.0 broke the producer pool, resulting in new connections being established for every acquire.

1.4.0

release-date:2011-09-22 05:00 P.M BST
by:Ask Solem
  • Adds module kombu.mixins.

    This module contains a ConsumerMixin class that can be used to easily implement a message consumer thread that consumes messages from one or more kombu.messaging.Consumer instances.

  • New example: Task Queue Example

    Using the ConsumerMixin, default channels and the global connection pool to demonstrate new Kombu features.

  • MongoDB transport did not work with MongoDB >= 2.0 (Issue #66)

    Fix contributed by James Turk.

  • Redis-py version check did not account for beta identifiers in version string.

    Fix contributed by David Ziegler.

  • Producer and Consumer now accepts a connection instance as the first argument.

    The connections default channel will then be used.

    In addition shortcut methods has been added to BrokerConnection:

    >>> connection.Producer(exchange)
    >>> connection.Consumer(queues=..., callbacks=...)
    
  • BrokerConnection has aquired a connected attribute that can be used to check if the connection instance has established a connection.

  • ConnectionPool.acquire_channel now returns the connections default channel rather than establising a new channel that must be manually handled.

  • Added kombu.common.maybe_declare

    maybe_declare(entity) declares an entity if it has not previously been declared in the same process.

  • kombu.compat.entry_to_queue() has been moved to kombu.common

  • New module kombu.clocks now contains an implementation of Lamports logical clock.

1.3.5

release-date:2011-09-16 06:00 P.M BST
by:Ask Solem
  • Python 3: AMQP_PROTOCOL_HEADER must be bytes, not str.

1.3.4

release-date:2011-09-16 06:00 P.M BST
by:Ask Solem
  • Fixes syntax error in pools.reset

1.3.3

release-date:2011-09-15 02:00 P.M BST
by:Ask Solem
  • pools.reset did not support after forker arguments.

1.3.2

release-date:2011-09-10 01:00 P.M BST
by:Mher Movsisyan
  • Broke Python 2.5 compatibility by importing parse_qsl from urlparse
  • Connection.default_channel is now closed when connection is revived after connection failures.
  • Pika: Channel now supports the connection.client attribute as required by the simple interface.
  • pools.set_limit now raises an exception if the limit is lower than the previous limit.
  • pools.set_limit no longer resets the pools.

1.3.1

release-date:2011-10-07 03:00 P.M BST
  • Last release broke after fork for pool reinitialization.

  • Producer/Consumer now has a connection attribute, giving access to the BrokerConnection of the instance.

  • Pika: Channels now have access to the underlying BrokerConnection instance using channel.connection.client.

    This was previously required by the Simple classes and is now also required by Consumer and Producer.

  • Connection.default_channel is now closed at object revival.

  • Adds kombu.clocks.LamportClock.

  • compat.entry_to_queue has been moved to new module kombu.common.

1.3.0

release-date:2011-10-05 01:00 P.M BST
  • Broker connection info can be now be specified using URLs

    The broker hostname can now be given as an URL instead, of the format:

    transport://user:password@hostname:port/virtual_host

    for example the default broker is expressed as:

    >>> BrokerConnection("amqp://guest:guest@localhost:5672//")
    

    Transport defaults to amqp, and is not required. user, password, port and virtual_host is also not mandatory and will default to the corresponding transports default.

    Note

    Note that the path component (virtual_host) always starts with a forward-slash. This is necessary to distinguish between the virtual host ‘’ (empty) and ‘/’, which are both acceptable virtual host names.

    A virtual host of ‘/’ becomes:

    amqp://guest:guest@localhost:5672//

    and a virtual host of ‘’ (empty) becomes:

    amqp://guest:guest@localhost:5672/

    So the leading slash in the path component is always required.

  • Now comes with default global connection and producer pools.

    The acquire a connection using the connection parameters from a BrokerConnection:

    >>> from kombu import BrokerConnection, connections
    >>> connection = BrokerConnection("amqp://guest:guest@localhost//")
    >>> with connections[connection].acquire(block=True):
    ...     # do something with connection
    

    To acquire a producer using the connection parameters from a BrokerConnection:

    >>> from kombu import BrokerConnection, producers
    >>> connection = BrokerConnection("amqp://guest:guest@localhost//")
    >>> with producers[connection].acquire(block=True):
    ...     producer.publish({"hello": "world"}, exchange="hello")
    

    Acquiring a producer will in turn also acquire a connection from the associated pool in connections, so you the number of producers is bound the same limit as number of connections.

    The default limit of 100 connections per connection instance can be changed by doing:

    >>> from kombu import pools
    >>> pools.set_limit(10)
    

    The pool can also be forcefully closed by doing:

    >>> from kombu import pools
    >>> pool.reset()
    
  • SQS Transport: Persistence using SimpleDB is now disabled by default, after reports of unstable SimpleDB connections leading to errors.

  • Producer can now be used as a context manager.

  • Producer.__exit__ now properly calls release instead of close.

    The previous behavior would lead to a memory leak when using the kombu.pools.ProducerPool

  • Now silences all exceptions from import ctypes to match behaviour of the standard Python uuid module, and avoid passing on MemoryError exceptions on SELinux-enabled systems (Issue #52 + Issue #53)

  • amqp is now an alias to the amqplib transport.

  • kombu.syn.detect_environment now returns ‘default’, ‘eventlet’, or ‘gevent’ depending on what monkey patches have been installed.

  • Serialization registry has new attribute type_to_name so it is possible to lookup serializater name by content type.

  • Exchange argument to Producer.publish can now be an Exchange instance.

  • compat.Publisher now supports the channel keyword argument.

  • Acking a message on some transports could lead to KeyError being raised (Issue #57).

  • Connection pool: Connections are no long instantiated when the pool is created, but instantiated as needed instead.

  • Tests now pass on PyPy.

  • Connection.as_uri now includes the password if the keyword argument include_password is set.

  • Virtual transports now comes with a default default_connection_params attribute.

1.2.1

release-date:2011-07-29 12:52 P.M BST
  • Now depends on amqplib >= 1.0.0.

  • Redis: Now automatically deletes auto_delete queues at basic_cancel.

  • serialization.unregister added so it is possible to remove unwanted seralizers.

  • Fixes MemoryError while importing ctypes on SELinux (Issue #52).

  • BrokerConnection.autoretry is a version of ensure that works with arbitrary functions (i.e. it does not need an associated object that implements the revive method.

    Example usage:

    channel = connection.channel()
    try:
        ret, channel = connection.autoretry(send_messages, channel=channel)
    finally:
        channel.close()
    
  • ConnectionPool.acquire no longer force establishes the connection.

    The connection will be established as needed.

  • BrokerConnection.ensure now supports an on_revive callback that is applied whenever the connection is re-established.

  • Consumer.consuming_from(queue) returns True if the Consumer is consuming from queue.

  • Consumer.cancel_by_queue did not remove the queue from queues.

  • compat.ConsumerSet.add_queue_from_dict now automatically declared the queue if auto_declare set.

1.2.0

release-date:2011-07-15 12:00 P.M BST
  • Virtual: Fixes cyclic reference in Channel.close (Issue #49).
  • Producer.publish: Can now set additional properties using keyword arguments (Issue #48).
  • Adds Queue.no_ack option to control the no_ack option for individual queues.
  • Recent versions broke pylibrabbitmq support.
  • SimpleQueue and SimpleBuffer can now be used as contexts.
  • Test requirements specifies PyYAML==3.09 as 3.10 dropped Python 2.4 support
  • Now properly reports default values in Connection.info/.as_uri

1.1.6

release-date:2011-06-13 04:00 P.M BST
  • Redis: Fixes issue introduced in 1.1.4, where a redis connection failure could leave consumer hanging forever.

  • SQS: Now supports fanout messaging by using SimpleDB to store routing tables.

    This can be disabled by setting the supports_fanout transport option:

    >>> BrokerConnection(transport="SQS",
    ...                  transport_options={"supports_fanout": False})
    
  • SQS: Now properly deletes a message when a message is acked.

  • SQS: Can now set the Amazon AWS region, by using the region transport option.

  • amqplib: Now uses localhost as default hostname instead of raising an error.

1.1.5

release-date:2011-06-07 06:00 P.M BST
  • Fixes compatibility with redis-py 2.4.4.

1.1.4

release-date:2011-06-07 04:00 P.M BST
  • Redis transport: Now requires redis-py version 2.4.4 or later.

  • New Amazon SQS transport added.

    Usage:

    >>> conn = BrokerConnection(transport="SQS",
    ...                         userid=aws_access_key_id,
    ...                         password=aws_secret_access_key)
    

    The environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are also supported.

  • librabbitmq transport: Fixes default credentials support.

  • amqplib transport: Now supports login_method for SSL auth.

    BrokerConnection now supports the login_method keyword argument.

    Default login_method is AMQPLAIN.

1.1.3

release-date:2011-04-21 16:00 P.M CEST
  • Redis: Consuming from multiple connections now works with Eventlet.

  • Redis: Can now perform channel operations while the channel is in BRPOP/LISTEN mode (Issue #35).

    Also the async BRPOP now times out after 1 second, this means that cancelling consuming from a queue/starting consuming from additional queues has a latency of up to one second (BRPOP does not support subsecond timeouts).

  • Virtual: Allow channel objects to be closed multiple times without error.

  • amqplib: AttributeError has been added to the list of known connection related errors (Connection.connection_errors).

  • amqplib: Now converts SSLError timeout errors to socket.timeout (http://bugs.python.org/issue10272)

  • Ensures cyclic references are destroyed when the connection is closed.

1.1.2

release-date:2011-04-06 16:00 P.M CEST
  • Redis: Fixes serious issue where messages could be lost.

    The issue could happen if the message exceeded a certain number of kilobytes in size.

    It is recommended that all users of the Redis transport should upgrade to this version, even if not currently experiencing any issues.

1.1.1

release-date:2011-04-05 15:51 P.M CEST
  • 1.1.0 started using Queue.LifoQueue which is only available in Python 2.6+ (Issue #33). We now ship with our own LifoQueue.

1.1.0

release-date:2011-04-05 01:05 P.M CEST

Important Notes

  • Virtual transports: Message body is now base64 encoded by default (Issue #27).

    This should solve problems sending binary data with virtual transports.

    Message compatibility is handled by adding a body_encoding property, so messages sent by older versions is compatible with this release. However – If you are accessing the messages directly not using Kombu, then you have to respect the body_encoding property.

    If you need to disable base64 encoding then you can do so via the transport options:

    BrokerConnection(transport="...",
                     transport_options={"body_encoding": None})
    

    For transport authors:

    You don’t have to change anything in your custom transports, as this is handled automatically by the base class.

    If you want to use a different encoder you can do so by adding a key to Channel.codecs. Default encoding is specified by the Channel.body_encoding attribute.

    A new codec must provide two methods: encode(data) and decode(data).

  • ConnectionPool/ChannelPool/Resource: Setting limit=None (or 0) now disables pool semantics, and will establish and close the resource whenever acquired or released.

  • ConnectionPool/ChannelPool/Resource: Is now using a LIFO queue instead of the previous FIFO behavior.

    This means that the last resource released will be the one acquired next. I.e. if only a single thread is using the pool this means only a single connection will ever be used.

  • BrokerConnection: Cloned connections did not inherit transport_options (__copy__).

  • contrib/requirements is now located in the top directory of the distribution.

  • MongoDB: Now supports authentication using the userid and password arguments to BrokerConnection (Issue #30).

  • BrokerConnection: Default autentication credentials are now delegated to the individual transports.

    This means that the userid and password arguments to BrokerConnection is no longer guest/guest by default.

    The amqplib and pika transports will still have the default credentials.

  • Consumer.__exit__() did not have the correct signature (Issue #32).

  • Channel objects now have a channel_id attribute.

  • MongoDB: Version sniffing broke with development versions of

    mongod (Issue #29).

  • New environment variable KOMBU_LOG_CONNECTION will now emit debug log messages for connection related actions.

    KOMBU_LOG_DEBUG will also enable KOMBU_LOG_CONNECTION.

1.0.7

release-date:2011-03-28 05:45 P.M CEST
  • Now depends on anyjson 0.3.1

    cjson is no longer a recommended json implementation, and anyjson will now emit a deprecation warning if used.

  • Please note that the Pika backend only works with version 0.5.2.

    The latest version (0.9.x) drastically changed API, and it is not compatible yet.

  • on_decode_error is now called for exceptions in message_to_python (Issue #24).

  • Redis: did not respect QoS settings.

  • Redis: Creating a connection now ensures the connection is established.

    This means BrokerConnection.ensure_connection works properly with Redis.

  • consumer_tag argument to Queue.consume can’t be None (Issue #21).

    A None value is now automatically converted to empty string. An empty string will make the server generate a unique tag.

  • BrokerConnection now supports a transport_options argument.

    This can be used to pass additional arguments to transports.

  • Pika: drain_events raised socket.timeout even if no timeout set (Issue #8).

1.0.6

release-date:2011-03-22 04:00 P.M CET
  • The delivery_mode aliases (persistent/transient) were not automatically converted to integer, and would cause a crash if using the amqplib transport.

  • Redis: The redis-py InvalidData exception suddenly changed name to DataError.

  • The KOMBU_LOG_DEBUG environment variable can now be set to log all channel method calls.

    Support for the following environment variables have been added:

    • KOMBU_LOG_CHANNEL will wrap channels in an object that logs every method call.
    • KOMBU_LOG_DEBUG both enables channel logging and configures the root logger to emit messages to standard error.

    Example Usage:

    $ KOMBU_LOG_DEBUG=1 python
    >>> from kombu import BrokerConnection
    >>> conn = BrokerConnection()
    >>> channel = conn.channel()
    Start from server, version: 8.0, properties:
        {u'product': 'RabbitMQ',..............  }
    Open OK! known_hosts []
    using channel_id: 1
    Channel open
    >>> channel.queue_declare("myq", passive=True)
    [Kombu channel:1] queue_declare('myq', passive=True)
    (u'myq', 0, 1)

1.0.5

release-date:2011-03-17 04:00 P.M CET
  • Fixed memory leak when creating virtual channels. All virtual transports affected (redis, mongodb, memory, django, sqlalchemy, couchdb, beanstalk).

  • Virtual Transports: Fixed potential race condition when acking messages.

    If you have been affected by this, the error would show itself as an exception raised by the OrderedDict implementation. (object no longer exists).

  • MongoDB transport requires the findandmodify command only available in MongoDB 1.3+, so now raises an exception if connected to an incompatible server version.

  • Virtual Transports: basic.cancel should not try to remove unknown consumer tag.

1.0.4

release-date:2011-02-28 04:00 P.M CET
  • Added Transport.polling_interval

    Used by django-kombu to increase the time to sleep between SELECTs when there are no messages in the queue.

    Users of django-kombu should upgrade to django-kombu v0.9.2.

1.0.3

release-date:2011-02-12 04:00 P.M CET
  • ConnectionPool: Re-connect if amqplib connection closed
  • Adds Queue.as_dict + Exchange.as_dict.
  • Copyright headers updated to include 2011.

1.0.2

release-date:2011-01-31 10:45 P.M CET
  • amqplib: Message properties were not set properly.
  • Ghettoq backend names are now automatically translated to the new names.

1.0.1

release-date:2011-01-28 12:00 P.M CET
  • Redis: Now works with Linux (epoll)

1.0.0

release-date:2011-01-27 12:00 P.M CET
  • Initial release

0.1.0

release-date:2010-07-22 04:20 P.M CET
  • Initial fork of carrot



PK=@::kombu-1.0/searchindex.jsSearch.setIndex({objects:{"kombu.transport.virtual.scheduling.FairCycle":{close:[51,2,1,""],get:[51,2,1,""]},"kombu.transport.django.models":{Queue:[24,5,1,""],Message:[24,5,1,""]},"kombu.connection.ChannelPool":{release:[56,2,1,""],acquire:[56,2,1,""],LimitExceeded:[56,3,1,""]},"kombu.transport.amqplib.Connection":{dispatch_method:[18,2,1,""],drain_events:[18,2,1,""],read_timeout:[18,2,1,""],close:[18,2,1,""],channel:[18,2,1,""],wait:[18,2,1,""]},"kombu.simple.SimpleBuffer":{queue_opts:[53,3,1,""],qsize:[53,2,1,""],producer:[53,3,1,""],get:[53,2,1,""],clear:[53,2,1,""],get_nowait:[53,2,1,""],queue:[53,3,1,""],exchange_opts:[53,3,1,""],channel:[53,3,1,""],put:[53,2,1,""],close:[53,2,1,""],consumer:[53,3,1,""],no_ack:[53,3,1,""],"__len__":[53,2,1,""]},"kombu.serialization":{register:[11,4,1,""],decode:[11,4,1,""],SerializerNotInstalled:[11,6,1,""],encode:[11,4,1,""],raw_encode:[11,4,1,""],registry:[11,1,1,""]},"kombu.transport.virtual.Channel":{do_restore:[3,3,1,""],qos:[3,3,1,""],basic_ack:[3,2,1,""],basic_reject:[3,2,1,""],basic_get:[3,2,1,""],close:[3,2,1,""],basic_recover:[3,2,1,""],exchange_declare:[3,2,1,""],exchange_delete:[3,2,1,""],queue_bind:[3,2,1,""],drain_events:[3,2,1,""],state:[3,3,1,""],basic_publish:[3,2,1,""],basic_consume:[3,2,1,""],queue_delete:[3,2,1,""],queue_declare:[3,2,1,""],queue_purge:[3,2,1,""],basic_qos:[3,2,1,""],basic_cancel:[3,2,1,""],message_to_python:[3,2,1,""],get_table:[3,2,1,""],exchange_types:[3,3,1,""],flow:[3,2,1,""],"typeof":[3,2,1,""],Message:[3,3,1,""],prepare_message:[3,2,1,""]},"kombu.transport.virtual.scheduling":{FairCycle:[51,5,1,""]},"kombu.pidbox.Mailbox":{Node:[43,2,1,""],abcast:[43,2,1,""],get_reply_queue:[43,2,1,""],exchange:[43,3,1,""],multi_call:[43,2,1,""],namespace:[43,3,1,""],cast:[43,2,1,""],connection:[43,3,1,""],call:[43,2,1,""],get_queue:[43,2,1,""],reply_exchange:[43,3,1,""],type:[43,3,1,""]},"kombu.simple.SimpleQueue":{queue_opts:[53,3,1,""],qsize:[53,2,1,""],producer:[53,3,1,""],get:[53,2,1,""],clear:[53,2,1,""],get_nowait:[53,2,1,""],queue:[53,3,1,""],exchange_opts:[53,3,1,""],channel:[53,3,1,""],put:[53,2,1,""],close:[53,2,1,""],consumer:[53,3,1,""],no_ack:[53,3,1,""],"__len__":[53,2,1,""]},"kombu.transport.django.Channel":{basic_consume:[40,2,1,""],refresh_connection:[40,2,1,""]},"kombu.transport.redis.Transport.Channel":{pipeline:[41,2,1,""],unacked_index_key:[41,3,1,""],QoS:[41,5,1,""],keyprefix_queue:[41,3,1,""],sep:[41,3,1,""],supports_fanout:[41,3,1,""],subclient:[41,3,1,""],from_transport_options:[41,3,1,""],priority:[41,2,1,""],get_table:[41,2,1,""],priority_steps:[41,3,1,""],client:[41,3,1,""],basic_consume:[41,2,1,""],active_queues:[41,3,1,""],close:[41,2,1,""],basic_cancel:[41,2,1,""],visibility_timeout:[41,3,1,""],unacked_key:[41,3,1,""]},"kombu.transport.amqplib.Transport.Connection":{read_timeout:[18,2,1,""],drain_events:[18,2,1,""],channel:[18,2,1,""]},"kombu.transport.virtual.Message.MessageStateError":{message:[3,3,1,""],args:[3,3,1,""]},"kombu.transport":{amqplib:[18,0,1,""],resolve_transport:[10,4,1,""],redis:[41,0,1,""],virtual:[3,0,1,""],django:[40,0,1,""],DEFAULT_TRANSPORT:[10,1,1,""],base:[31,0,1,""],get_transport_cls:[10,4,1,""],memory:[15,0,1,""],TRANSPORT_ALIASES:[10,1,1,""]},"kombu.transport.redis.Channel":{pipeline:[41,2,1,""],unacked_index_key:[41,3,1,""],unacked_key:[41,3,1,""],keyprefix_queue:[41,3,1,""],sep:[41,3,1,""],supports_fanout:[41,3,1,""],priority_steps:[41,3,1,""],from_transport_options:[41,3,1,""],priority:[41,2,1,""],active_queues:[41,3,1,""],subclient:[41,3,1,""],client:[41,3,1,""],basic_consume:[41,2,1,""],close:[41,2,1,""],get_table:[41,2,1,""],QoS:[41,5,1,""],basic_cancel:[41,2,1,""],visibility_timeout:[41,3,1,""]},"kombu.transport.redis.Transport":{default_port:[41,3,1,""],handle_event:[41,2,1,""],on_poll_init:[41,2,1,""],polling_interval:[41,3,1,""],on_poll_start:[41,2,1,""],Channel:[41,5,1,""]},"kombu.transport.virtual.exchange.ExchangeType":{type:[46,3,1,""],equivalent:[46,2,1,""],lookup:[46,2,1,""],prepare_bind:[46,2,1,""]},"kombu.pools":{reset:[37,4,1,""],PoolGroup:[37,5,1,""],ProducerPool:[37,5,1,""],register_group:[37,4,1,""],get_limit:[37,4,1,""],set_limit:[37,4,1,""]},"kombu.transport.base.Message":{body:[31,3,1,""],ack:[31,2,1,""],delivery_info:[31,3,1,""],acknowledged:[31,3,1,""],properties:[31,3,1,""],decode:[31,2,1,""],headers:[31,3,1,""],content_encoding:[31,3,1,""],content_type:[31,3,1,""],reject:[31,2,1,""],delivery_tag:[31,3,1,""],requeue:[31,2,1,""],payload:[31,3,1,""],channel:[31,3,1,""]},"kombu.utils.functional.promise":{evaluate:[13,2,1,""]},"kombu.compat.Publisher":{compression:[55,3,1,""],exchange:[55,3,1,""],serializer:[55,3,1,""],auto_delete:[55,3,1,""],send:[55,2,1,""],auto_declare:[55,3,1,""],routing_key:[55,3,1,""],publish:[55,2,1,""],revive:[55,2,1,""],connection:[55,3,1,""],declare:[55,2,1,""],channel:[55,3,1,""],release:[55,2,1,""],close:[55,2,1,""],exchange_type:[55,3,1,""],on_return:[55,3,1,""],durable:[55,3,1,""],maybe_declare:[55,2,1,""],backend:[55,3,1,""]},"kombu.connection.ConnectionPool":{release:[56,2,1,""],acquire:[56,2,1,""],LimitExceeded:[56,3,1,""]},"kombu.connection.BrokerConnection":{SimpleBuffer:[56,2,1,""],info:[56,2,1,""],create_transport:[56,2,1,""],SimpleQueue:[56,2,1,""],channel_errors:[56,3,1,""],drain_events:[56,2,1,""],transport:[56,3,1,""],host:[56,3,1,""],ensure_connection:[56,2,1,""],connection:[56,3,1,""],connection_errors:[56,3,1,""],ensure:[56,2,1,""],Pool:[56,2,1,""],get_transport_cls:[56,2,1,""],ChannelPool:[56,2,1,""],release:[56,2,1,""],clone:[56,2,1,""],channel:[56,2,1,""],connect:[56,2,1,""]},"kombu.entity":{Queue:[25,5,1,""],Exchange:[25,5,1,""]},"kombu.utils.finalize.Finalize":{cancel:[32,2,1,""],still_active:[32,2,1,""]},"kombu.transport.django.Transport":{default_port:[40,3,1,""],connection_errors:[40,3,1,""],polling_interval:[40,3,1,""],Channel:[40,5,1,""],channel_errors:[40,3,1,""]},"kombu.transport.redis.Channel.QoS":{unacked_index_key:[41,3,1,""],unacked_key:[41,3,1,""],restore_visible:[41,2,1,""],ack:[41,2,1,""],restore_unacked:[41,2,1,""],restore_by_tag:[41,2,1,""],client:[41,3,1,""],visibility_timeout:[41,3,1,""],reject:[41,2,1,""],restore_at_shutdown:[41,3,1,""],append:[41,2,1,""]},"kombu.transport.amqplib.Transport":{eventmap:[18,2,1,""],get_manager:[18,2,1,""],on_poll_init:[18,2,1,""],channel_errors:[18,3,1,""],drain_events:[18,2,1,""],verify_connection:[18,2,1,""],establish_connection:[18,2,1,""],nb_keep_draining:[18,3,1,""],default_connection_params:[18,3,1,""],Connection:[18,5,1,""],connection_errors:[18,3,1,""],create_channel:[18,2,1,""],default_port:[18,3,1,""],is_alive:[18,2,1,""],on_poll_start:[18,2,1,""],close_connection:[18,2,1,""]},"kombu.utils.limits.TokenBucket":{timestamp:[58,3,1,""],fill_rate:[58,3,1,""],capacity:[58,3,1,""],can_consume:[58,2,1,""],expected_time:[58,2,1,""]},"kombu.transport.virtual.Transport":{close_channel:[3,2,1,""],drain_events:[3,2,1,""],polling_interval:[3,3,1,""],establish_connection:[3,2,1,""],close_connection:[3,2,1,""],state:[3,3,1,""],create_channel:[3,2,1,""],default_port:[3,3,1,""],cycle:[3,3,1,""],Channel:[3,3,1,""],Cycle:[3,3,1,""]},"kombu.compat":{Publisher:[55,5,1,""],Consumer:[55,5,1,""],ConsumerSet:[55,5,1,""]},"kombu.transport.virtual.exchange.FanoutExchange":{deliver:[46,2,1,""],lookup:[46,2,1,""],type:[46,3,1,""]},"kombu.transport.redis":{Channel:[41,5,1,""],Transport:[41,5,1,""]},"kombu.transport.django.managers":{MessageManager:[30,5,1,""],select_for_update:[30,4,1,""],QueueManager:[30,5,1,""]},"kombu.transport.django.Transport.Channel":{basic_consume:[40,2,1,""],refresh_connection:[40,2,1,""]},"kombu.transport.memory.Transport":{state:[15,3,1,""],Channel:[15,5,1,""]},"kombu.messaging.Producer":{compression:[2,3,1,""],exchange:[2,3,1,""],serializer:[2,3,1,""],revive:[2,2,1,""],publish:[2,2,1,""],routing_key:[2,3,1,""],auto_declare:[2,3,1,""],on_return:[2,3,1,""],declare:[2,2,1,""],channel:[2,3,1,""]},"kombu.utils.limits":{TokenBucket:[58,5,1,""]},"kombu.common":{collect_replies:[12,4,1,""],itermessages:[12,4,1,""],uuid:[12,4,1,""],Broadcast:[12,5,1,""],insured:[12,4,1,""],maybe_declare:[12,4,1,""],ipublish:[12,4,1,""],send_reply:[12,4,1,""],entry_to_queue:[12,4,1,""],isend_reply:[12,4,1,""]},"kombu.pidbox":{Node:[43,5,1,""],Mailbox:[43,5,1,""]},"kombu.transport.virtual.QoS":{get:[3,2,1,""],ack:[3,2,1,""],restore_unacked:[3,2,1,""],restore_unacked_once:[3,2,1,""],prefetch_count:[3,3,1,""],can_consume:[3,2,1,""],reject:[3,2,1,""],restore_at_shutdown:[3,3,1,""],append:[3,2,1,""]},"kombu.transport.virtual.Message":{body:[3,3,1,""],reject_log_error:[3,2,1,""],properties:[3,3,1,""],serializable:[3,2,1,""],ack:[3,2,1,""],delivery_info:[3,3,1,""],MessageStateError:[3,6,1,""],acknowledged:[3,3,1,""],ack_log_error:[3,2,1,""],delivery_tag:[3,3,1,""],decode:[3,2,1,""],headers:[3,3,1,""],content_encoding:[3,3,1,""],content_type:[3,3,1,""],reject:[3,2,1,""],requeue:[3,2,1,""],payload:[3,3,1,""],channel:[3,3,1,""]},"kombu.pidbox.Node":{handle:[43,2,1,""],handlers:[43,3,1,""],dispatch_from_message:[43,2,1,""],hostname:[43,3,1,""],state:[43,3,1,""],dispatch:[43,2,1,""],mailbox:[43,3,1,""],handle_call:[43,2,1,""],handler:[43,2,1,""],handle_cast:[43,2,1,""],handle_message:[43,2,1,""],reply:[43,2,1,""],Consumer:[43,2,1,""],channel:[43,3,1,""],listen:[43,2,1,""]},"kombu.exceptions":{TimeoutError:[0,3,1,""],MessageStateError:[0,6,1,""],ConnectionLimitExceeded:[0,6,1,""],LimitExceeded:[0,6,1,""],ChannelLimitExceeded:[0,6,1,""],NotBoundError:[0,6,1,""]},"kombu.transport.memory":{Transport:[15,5,1,""],Channel:[15,5,1,""]},"kombu.utils.finalize":{Finalize:[32,5,1,""]},"kombu.pools.ProducerPool":{prepare:[37,2,1,""],Producer:[37,5,1,""],setup:[37,2,1,""],release:[37,2,1,""],"new":[37,2,1,""],create_producer:[37,2,1,""]},"kombu.transport.base.Transport":{close_channel:[31,2,1,""],channel_errors:[31,3,1,""],drain_events:[31,2,1,""],establish_connection:[31,2,1,""],client:[31,3,1,""],connection_errors:[31,3,1,""],create_channel:[31,2,1,""],default_port:[31,3,1,""],close_connection:[31,2,1,""]},"kombu.clocks":{LamportClock:[27,5,1,""]},"kombu.entity.Queue":{exclusive:[25,3,1,""],when_bound:[25,2,1,""],consume:[25,2,1,""],auto_delete:[25,3,1,""],attrs:[25,3,1,""],cancel:[25,2,1,""],queue_bind:[25,2,1,""],durable:[25,3,1,""],exchange:[25,3,1,""],routing_key:[25,3,1,""],queue_declare:[25,2,1,""],channel:[25,3,1,""],get:[25,2,1,""],maybe_bind:[25,2,1,""],binding_arguments:[25,3,1,""],unbind:[25,2,1,""],name:[25,3,1,""],declare:[25,2,1,""],purge:[25,2,1,""],alias:[25,3,1,""],queue_arguments:[25,3,1,""],can_cache_declaration:[25,3,1,""],no_ack:[25,3,1,""],"delete":[25,2,1,""]},"kombu.pools.PoolGroup":{create:[37,2,1,""]},"kombu.transport.virtual.exchange.TopicExchange":{wildcards:[46,3,1,""],prepare_bind:[46,2,1,""],deliver:[46,2,1,""],lookup:[46,2,1,""],key_to_pattern:[46,2,1,""],type:[46,3,1,""]},"kombu.transport.django.management.commands":{clean_kombu_messages:[5,0,1,""]},"kombu.messaging.Consumer":{qos:[2,2,1,""],consume:[2,2,1,""],register_callback:[2,2,1,""],callbacks:[2,3,1,""],receive:[2,2,1,""],queues:[2,3,1,""],cancel_by_queue:[2,2,1,""],flow:[2,2,1,""],revive:[2,2,1,""],declare:[2,2,1,""],purge:[2,2,1,""],cancel:[2,2,1,""],channel:[2,3,1,""],on_decode_error:[2,3,1,""],recover:[2,2,1,""],no_ack:[2,3,1,""],auto_declare:[2,3,1,""]},"kombu.transport.amqplib.Channel":{basic_cancel:[18,2,1,""],basic_consume:[18,2,1,""],message_to_python:[18,2,1,""],close:[18,2,1,""],Message:[18,5,1,""],events:[18,3,1,""],prepare_message:[18,2,1,""]},"kombu.transport.django.models.Message":{queue:[24,3,1,""],MultipleObjectsReturned:[24,6,1,""],objects:[24,3,1,""],DoesNotExist:[24,6,1,""]},"kombu.utils.compat.CompatOrderedDict":{fromkeys:[19,7,1,""],setdefault:[19,2,1,""],keys:[19,2,1,""],items:[19,2,1,""],clear:[19,2,1,""],popitem:[19,2,1,""],update:[19,2,1,""],pop:[19,2,1,""],values:[19,2,1,""],itervalues:[19,2,1,""],iteritems:[19,2,1,""],copy:[19,2,1,""],iterkeys:[19,2,1,""]},"kombu.transport.virtual.BrokerState":{clear:[3,2,1,""],bindings:[3,3,1,""],exchanges:[3,3,1,""]},"kombu.transport.virtual.exchange.DirectExchange":{lookup:[46,2,1,""],type:[46,3,1,""],deliver:[46,2,1,""]},"kombu.transport.redis.Transport.Channel.QoS":{unacked_index_key:[41,3,1,""],unacked_key:[41,3,1,""],restore_visible:[41,2,1,""],ack:[41,2,1,""],restore_unacked:[41,2,1,""],restore_by_tag:[41,2,1,""],client:[41,3,1,""],append:[41,2,1,""],reject:[41,2,1,""],restore_at_shutdown:[41,3,1,""],visibility_timeout:[41,3,1,""]},"kombu.log":{setup_logging:[44,4,1,""],LogMixin:[44,5,1,""],get_loglevel:[44,4,1,""]},"kombu.connection":{ChannelPool:[56,5,1,""],ConnectionPool:[56,5,1,""],BrokerConnection:[56,5,1,""]},"kombu.transport.django":{models:[24,0,1,""],managers:[30,0,1,""],Channel:[40,5,1,""],Transport:[40,5,1,""]},"kombu.compat.ConsumerSet":{add_consumer_from_dict:[55,2,1,""],qos:[55,2,1,""],consume:[55,2,1,""],cancel_by_queue:[55,2,1,""],cancel:[55,2,1,""],consuming_from:[55,2,1,""],on_decode_error:[55,3,1,""],close:[55,2,1,""],recover:[55,2,1,""],auto_declare:[55,3,1,""],revive:[55,2,1,""],channel:[55,3,1,""],register_callback:[55,2,1,""],callbacks:[55,3,1,""],add_queue:[55,2,1,""],iterconsume:[55,2,1,""],add_consumer:[55,2,1,""],receive:[55,2,1,""],queues:[55,3,1,""],flow:[55,2,1,""],no_ack:[55,3,1,""],purge:[55,2,1,""],connection:[55,3,1,""],discard_all:[55,2,1,""],declare:[55,2,1,""]},"kombu.transport.django.models.Queue":{MultipleObjectsReturned:[24,6,1,""],objects:[24,3,1,""],messages:[24,3,1,""],DoesNotExist:[24,6,1,""]},"kombu.abstract.MaybeChannelBound":{is_bound:[22,3,1,""],when_bound:[22,2,1,""],bind:[22,2,1,""],revive:[22,2,1,""],maybe_bind:[22,2,1,""],can_cache_declaration:[22,3,1,""],channel:[22,3,1,""]},"kombu.transport.memory.Transport.Channel":{queues:[15,3,1,""],do_restore:[15,3,1,""],after_reply_message_received:[15,2,1,""]},"kombu.entity.Exchange":{name:[25,3,1,""],arguments:[25,3,1,""],auto_delete:[25,3,1,""],delivery_mode:[25,3,1,""],PERSISTENT_DELIVERY_MODE:[25,3,1,""],publish:[25,2,1,""],declare:[25,2,1,""],TRANSIENT_DELIVERY_MODE:[25,3,1,""],maybe_bind:[25,2,1,""],attrs:[25,3,1,""],can_cache_declaration:[25,3,1,""],Message:[25,2,1,""],type:[25,3,1,""],durable:[25,3,1,""],channel:[25,3,1,""],"delete":[25,2,1,""]},"kombu.transport.django.managers.MessageManager":{connection_for_write:[30,2,1,""],cleanup:[30,2,1,""],cleanup_every:[30,3,1,""],pop:[30,2,1,""]},"kombu.abstract":{MaybeChannelBound:[22,5,1,""]},"kombu.mixins.ConsumerMixin":{connect_max_retries:[23,3,1,""],run:[23,2,1,""],consume:[23,2,1,""],should_stop:[23,3,1,""],restart_limit:[23,3,1,""],on_connection_revived:[23,2,1,""],get_consumers:[23,2,1,""],establish_connection:[23,2,1,""],on_iteration:[23,2,1,""],on_consume_ready:[23,2,1,""],on_decode_error:[23,2,1,""],on_connection_error:[23,2,1,""],connection_errors:[23,3,1,""],on_consume_end:[23,2,1,""],maybe_conn_error:[23,2,1,""],channel_errors:[23,3,1,""],extra_context:[23,2,1,""],Consumer:[23,2,1,""]},"kombu.simple":{SimpleBuffer:[53,5,1,""],SimpleQueue:[53,5,1,""]},"kombu.transport.memory.Channel":{queues:[15,3,1,""],do_restore:[15,3,1,""],after_reply_message_received:[15,2,1,""]},"kombu.transport.virtual.exchange":{DirectExchange:[46,5,1,""],ExchangeType:[46,5,1,""],FanoutExchange:[46,5,1,""],TopicExchange:[46,5,1,""]},"kombu.log.LogMixin":{info:[44,2,1,""],warn:[44,2,1,""],get_loglevel:[44,2,1,""],log:[44,2,1,""],annotate:[44,2,1,""],get_logger:[44,2,1,""],critical:[44,2,1,""],logger_name:[44,3,1,""],error:[44,2,1,""],debug:[44,2,1,""],logger:[44,3,1,""],is_enabled_for:[44,2,1,""]},"kombu.utils.url":{parse_url:[7,4,1,""]},"kombu.compression":{encoders:[45,4,1,""],get_encoder:[45,4,1,""],register:[45,4,1,""],compress:[45,4,1,""],decompress:[45,4,1,""],get_decoder:[45,4,1,""]},kombu:{compat:[55,0,1,""],compression:[45,0,1,""],simple:[53,0,1,""],pools:[37,0,1,""],"abstract":[22,0,1,""],mixins:[23,0,1,""],syn:[9,0,1,""],entity:[25,0,1,""],exceptions:[0,0,1,""],connection:[56,0,1,""],clocks:[27,0,1,""],common:[12,0,1,""],messaging:[39,0,1,""],pidbox:[43,0,1,""],serialization:[11,0,1,""],utils:[38,0,1,""],transport:[10,0,1,""],log:[44,0,1,""]},"kombu.utils.debug":{setup_logging:[52,4,1,""],Logwrapped:[52,5,1,""]},"kombu.clocks.LamportClock":{forward:[27,2,1,""],adjust:[27,2,1,""],value:[27,3,1,""]},"kombu.syn":{detect_environment:[9,4,1,""]},"kombu.transport.amqplib":{Message:[18,5,1,""],Connection:[18,5,1,""],Transport:[18,5,1,""],Channel:[18,5,1,""]},"kombu.compat.Consumer":{exclusive:[55,3,1,""],qos:[55,2,1,""],consume:[55,2,1,""],no_ack:[55,3,1,""],auto_delete:[55,3,1,""],cancel_by_queue:[55,2,1,""],routing_key:[55,3,1,""],on_decode_error:[55,3,1,""],consuming_from:[55,2,1,""],cancel:[55,2,1,""],close:[55,2,1,""],recover:[55,2,1,""],auto_declare:[55,3,1,""],purge:[55,2,1,""],durable:[55,3,1,""],revive:[55,2,1,""],iterqueue:[55,2,1,""],channel:[55,3,1,""],register_callback:[55,2,1,""],exchange:[55,3,1,""],callbacks:[55,3,1,""],wait:[55,2,1,""],add_queue:[55,2,1,""],iterconsume:[55,2,1,""],process_next:[55,2,1,""],receive:[55,2,1,""],queues:[55,3,1,""],flow:[55,2,1,""],fetch:[55,2,1,""],queue:[55,3,1,""],connection:[55,3,1,""],discard_all:[55,2,1,""],exchange_type:[55,3,1,""],declare:[55,2,1,""]},"kombu.messaging":{Consumer:[2,5,1,""],Producer:[2,5,1,""]},"kombu.pools.ProducerPool.Producer":{revive:[37,2,1,""],exchange:[37,3,1,""],serializer:[37,3,1,""],on_return:[37,3,1,""],publish:[37,2,1,""],maybe_declare:[37,2,1,""],connection:[37,3,1,""],routing_key:[37,3,1,""],auto_declare:[37,3,1,""],release:[37,2,1,""],close:[37,2,1,""],declare:[37,2,1,""],channel:[37,3,1,""],compression:[37,3,1,""]},"kombu.transport.django.managers.QueueManager":{purge:[30,2,1,""],fetch:[30,2,1,""],publish:[30,2,1,""],size:[30,2,1,""]},"kombu.utils.functional":{promise:[13,5,1,""],maybe_promise:[13,4,1,""]},"kombu.utils":{compat:[19,0,1,""],reprcall:[38,4,1,""],kwdict:[38,4,1,""],finalize:[32,0,1,""],limits:[58,0,1,""],encoding:[4,0,1,""],url:[7,0,1,""],emergency_dump_state:[38,4,1,""],functional:[13,0,1,""],fxrange:[38,4,1,""],nested:[38,4,1,""],EqualityDict:[38,5,1,""],cached_property:[38,3,1,""],say:[38,4,1,""],maybe_list:[38,4,1,""],debug:[52,0,1,""],retry_over_time:[38,4,1,""],fxrangemax:[38,4,1,""],reprkwargs:[38,4,1,""],uuid:[38,4,1,""]},"kombu.utils.encoding":{str_to_bytes:[4,4,1,""],bytes_to_str:[4,4,1,""],safe_str:[4,4,1,""],default_encoding:[4,4,1,""],default_encode:[4,4,1,""],ensure_bytes:[4,4,1,""],from_utf8:[4,4,1,""],safe_repr:[4,4,1,""]},"kombu.transport.virtual":{AbstractChannel:[3,5,1,""],exchange:[46,0,1,""],BrokerState:[3,5,1,""],Channel:[3,5,1,""],scheduling:[51,0,1,""],QoS:[3,5,1,""],Message:[3,5,1,""],Transport:[3,5,1,""]},"kombu.mixins":{ConsumerMixin:[23,5,1,""]},"kombu.utils.compat":{LifoQueue:[19,5,1,""],CompatOrderedDict:[19,5,1,""]},"kombu.transport.base":{Message:[31,5,1,""],Transport:[31,5,1,""]}},terms:{fanoutexchang:[3,46],interchang:29,four:[16,25],restore_by_tag:41,prefix:50,sleep:[3,38,56,50],typeerror:38,under:[16,57],spec:[37,2,39,55],retry_polici:[2,50,37,39,55,12],everi:[13,50,16,34,17,38,23,56,57,12],queue_id:24,affect:[16,2,49,55,50],exchange_opt:[53,56],rabbitmq:[2,50,16,49,33,25,55],use_default_limit:57,queue_argu:25,maybe_list:38,direct:[43,16,3,35,20,21,25,55,46,34],second:[50,20,38,23,56,58],even:[16,20,11,50,25],aim:16,dialogu:25,eventlet:[23,50],logmixin:44,connection_error:[31,50,18,23,40,56],key_to_pattern:46,"new":[2,11,16,34,49,50,45,37,25,55,56,57,19,58],ever:[50,25],abov:[29,34,17],never:34,here:[29,57,12],"__hash__":50,path:[20,10,50],interpret:[16,25],jame:50,emergency_dump_st:38,findandmodifi:50,celerybeat:43,articl:[16,57,25],"byte":50,unit:16,highli:16,describ:[11,25],would:[11,34,23,50],jaekel:50,call:[0,13,29,2,16,34,49,50,43,20,22,23,37,25,55,39,56,57],establis:50,type:[37,2,45,11,16,3,50,51,35,18,17,20,39,25,55,43,46],until:[2,34,49,38,25,55,56,57],science_new:25,isend_repli:12,relat:[27,50],warn:[2,50,49,44,55,56,58],phone:34,hold:25,set_limit:[37,57,50],must:[37,2,31,50,16,3,49,18,20,38,23,25,55,39,34],join:[16,23],active_queu:41,restor:3,setup:[16,37],work:[20,33,34,17,50],default_transport:10,conceptu:27,undeliv:50,root:[16,50],overrid:[37,2,39,23,55],give:[2,50,49,38,25,55,56,57],indic:[14,18],unavail:23,want:[2,11,3,49,50,17,18,20,39,57],producerpool:[37,50],cutekitten:29,keep:50,end:[55,2,49,50],replicaset:50,quot:50,interval_step:[38,56],how:[38,56],disappear:50,answer:33,turk:50,get_consum:[49,23,35],connect_timeout:[20,56],updat:[34,19,50],subsecond:50,outsid:[16,23],initial_valu:27,after:[37,2,50,16,49,18,20,22,23,55,39,57],befor:[2,50,16,37,38,39,55,56,27,57],wrong:50,acquire_channel:50,demonstr:50,attempt:[55,2,49],classmethod:19,credenti:50,exclud:46,alias:[20,45,10,50],maintain:[27,57,17,50],environ:50,enter:[23,50],exclus:[55,25],fan:16,first:50,order:[2,49,19],origin:[2,31,16,3,49,23,55,34],method_id:18,over:[38,34,17],failur:[31,23,12,18,50],becaus:[50,25],fifo:[19,50],on_poll_start:[18,41],uuid:[38,12,50],fit:[34,17],fix:[16,50],better:[17,50],persist:[29,50,53,21,25,56,34],easier:20,them:[29,50,16,20,25,34],thei:[29,16,34,49,17,25,57],safe:[4,58],as_dict:50,promis:13,ipublish:12,bank:34,choic:17,queue_bind:[3,25],localis:18,timeout:[0,29,50,16,3,49,43,18,20,23,53,56,57,12],each:[3,51,17,38,25,56,27,34],debug:[14,50,35,52,21,44],side:18,mean:[2,31,50,3,49,34,18,20,25,55,27,57],discard_al:55,msgpack:[11,17],unbound:[0,16,25],goe:3,invaliddata:50,content:[14,2,49,50,17,18,37,39,55,11,34],method:[0,13,31,46,2,3,49,50,17,18,45,20,23,37,25,55,39,43,11,56],got:[57,23,35],situat:34,standard:[16,29,46,17,50],pika:[14,50,16,20,21,26],can_cache_declar:[22,25],traceback:56,prefetch:[55,3,49,2],add_consumer_from_dict:55,safe_str:4,attapattu:25,do_restor:[3,15],wast:17,system:50,instruct:17,alreadi:[0,2,31,16,3,49,37,22,39,25,55,57],installed_app:50,primari:17,castaneda:50,restart_limit:23,top:[16,50],mcgee:50,sometim:34,necessarili:25,too:[16,57,23,50],"0x4213a10":3,listen:[43,50],namespac:43,channel2:49,channel1:49,keyword:[37,2,50,36,20,38,23,55,39,56,12],provid:[50,16,18,20,38,25,56,12],zero:[16,2,49,55,25],project:16,minut:[34,25],enable_callback:55,if_empti:[3,25],add_queu:55,raw:[3,11,17,36,25],binding_argu:25,increment:27,"__main__":[29,35],incompat:50,recreat:50,latter:[29,11],insur:12,kombu_log_channel:50,shall:50,bst:50,object:[29,11,15,32,16,3,50,17,22,23,24,25,56,57,19],what:[34,57,36,50],regular:16,brpop:50,letter:[34,50],bsd:[0,3,4,9,10,19,15,16,18,12,22,23,25,27,2,31,32,45,41,37,38,43,11,46,51,52,53,55,56,58],don:[16,57,17,50],flow:[55,3,49,2],doe:[2,50,16,49,10,25,55],declar:[37,2,50,16,3,49,20,22,39,25,55,53,57],wildcard:[46,25],dot:[16,46,25],"__str__":13,speedup:17,syntax:50,eventmap:18,identifi:[50,45,25],despit:12,acquir:[56,57,35,50],configur:[37,2,16,50,20,39,55,56,12],latenc:50,stop:[55,2,38,23,49],amazon:[16,50],popitem:19,report:[16,50],patch:[16,50],channel_id:[18,50],bad:34,respond:[18,25],basic_ack:3,num:41,mandatori:[2,50,37,39,25,55],result:[56,50],respons:[50,25],fail:[18,50],channel_or_connect:16,best:[16,20,57,17],hopefulli:[38,12],databas:[20,40,50],wikipedia:[16,27,58],unack:[3,41],awai:[34,57],attribut:[50,16,17,23,25,56,46],default_seri:11,pylibrabbitmq:50,xrang:29,lamport:[27,50],supports_fanout:[16,20,46,50,41],howev:[17,50],against:57,logic:[27,50],com:[16,58],kwd:[38,23,19],sullivan:50,guid:[14,36],assum:25,three:11,been:[0,2,31,50,16,3,49,37,22,23,55,39,56,57],much:[38,34],force_close_al:50,interest:34,basic:[29,2,50,49,33,36,20,23,39],"__len__":53,life:34,fill_rat:58,lifo:[19,50],worker:[23,35],setup_log:[52,35,44],mher:50,ani:[2,50,16,49,17,18,23,25,55,56,46,57],"catch":38,ident:[16,52,25],servic:[2,3,49,21,55,34],properti:[2,31,50,16,3,18,37,38,39,25,55],seral:50,"typeof":3,aid:18,visibility_timeout:41,transport_opt:[20,56,50],tabl:[14,50,16,3,20,10,25,46],kwarg:[3,4,12,13,15,44,18,22,23,24,25,46,30,31,32,35,41,37,38,40,43,50,51,53,55,56],consuming_from:[55,50],vendor:16,conn:[29,50,16,35,56,57,12],hong:50,datetim:29,perform:[2,50,16,49,23,25,55,12],suggest:16,make:[29,50,16,33,20,23,25],couchdb:[16,20,50],task_queu:[23,35],complet:[56,12],hang:50,hand:34,fairli:[3,17],rais:[2,31,11,16,3,49,50,35,38,23,25,55,56,57],refil:58,kept:[16,20],scenario:[34,36],cjson:[17,50],inherit:[3,50],client:[43,2,31,15,50,16,3,49,35,18,41,20,40,25,55],thi:[3,12,16,18,20,22,23,25,46,29,2,31,45,37,38,39,43,11,27,50,34,49,55,56,57,58],left:57,protocol:[16,46],just:[16,50,57,25],on_return:[37,2,39,55],human:34,yet:[20,50],languag:17,previous:[45,50],easi:16,djkombu:50,consumer_tag:[50,3,41,18,25],raw_messag:[3,18],had:[34,50],reiniti:50,opt:12,applic:[43,11,50,16,34,4,25,57],mayb:34,preserv:25,specif:[2,50,49,18,20,25,55,56,46],arbitrari:[37,2,39,55,50],manual:[2,50,16,49,39,25],unstabl:50,unnecessari:11,underli:[56,50],old:50,interv:[38,50,23,56,41],dead:50,intern:[38,56,18],metzlar:50,amqp_protocol_head:50,subclass:[55,3,49,2],buffer:[29,21,56,53,50],tracker:[16,14],condit:[18,50],foo:[20,50],localhost:[29,50,16,35,20,56,57],core:[40,50],idiomat:16,uncompress:45,stefan:50,ivan:50,lamportclock:[27,50],peer:[55,2,49,18],post:[34,25],"super":23,plug:16,obj:[4,56,32],slightli:29,beta:50,commit:50,produc:[29,14,36,2,16,34,50,17,35,20,21,39,37,55,53,56,57,12],"float":[17,50],encod:[29,14,2,16,4,50,17,18,45,37,21,39,25,55,11],bound:[43,50,16,22,25,46],down:[55,2,49,18],wrap:50,wai:[56,34,50],compatordereddict:19,support:[37,2,52,11,16,3,49,33,17,35,20,56,23,25,55,39,50,46,57,12],task_exchang:35,undeliverablewarn:50,"class":[2,3,44,10,19,13,14,15,17,18,12,20,21,22,23,24,25,27,29,30,31,32,35,41,37,38,39,40,43,46,50,49,51,52,53,55,56,58],avail:[2,11,16,34,49,50,45,20,25,55,56,57,58],joseph:50,war:34,fork:[57,50],forc:[37,11,56,18,50],recommend:[56,50,25],sqlalchemi:[16,14,1,50,21],safeguard:57,"true":[3,19,16,18,20,23,25,46,29,2,31,35,41,37,39,43,50,49,53,55,56,57,58],reset:[37,57,50],attr:[38,25],bugfix:50,maximum:[0,38,23,56,27,58],tell:20,unacked_index_kei:41,emit:[4,50],featur:[14,50,16,2,37,39],"abstract":[3,22],proven:16,exist:[16,50,25],read_timeout:18,ship:[57,50],check:[20,50,25],verify_connect:18,content_encod:[2,31,11,3,17,18,37,39,25,55],excel:29,test:[16,50],pymongo:50,shrink:57,node:[43,21],consid:[27,50],from_utf8:4,receiv:[29,2,31,16,49,36,18,20,25,55,53,27,34],faster:34,filterfunc:55,interval_start:[38,56,50],ignor:[55,2,49,23,50],time:[29,34,50,3,38,23,56,27,57,58],reply_to:43,unicodedecodeerror:4,concept:16,snif:50,skip:[22,50],global:[2,15,50,49,55,57],anand:50,depend:[0,50,16,20,25,56],aspn:58,show:50,dispatch_from_messag:43,midpri:35,x06:41,sourc:16,"__exit__":50,string:[14,11,4,50,17,20,21,10,25,56],register_group:37,on_messag:49,forker:50,drain_ev:[43,31,50,16,3,49,18,56],word:[16,46,25],exact:46,level:[16,29,57,44],did:[33,50],messagestateerror:[0,3,31],exchangetyp:46,iter:[56,23],item:[11,56,19],tokenbucket:58,quick:16,slower:17,sign:34,cost:34,port:[31,50,16,3,18,20,56],on_task:23,establish_connect:[3,31,23,18],lazili:56,repli:[43,50,34,18,25],get_logg:44,current:[29,2,50,3,49,43,37,22,39,25,55,53,56,27,57],transport_alias:10,gener:[43,14,50,37,21,38,25,12],equalitydict:38,unacked_kei:41,address:[56,34],along:[37,2,39,55],wait:[2,16,49,18,25,55,56,34],queue_name_prefix:50,queue:[3,12,15,16,20,21,23,24,25,46,29,2,31,35,36,40,41,50,49,53,55,56],prefetch_count:[55,3,49,2],throughput:34,maybe_declar:[2,50,35,37,22,39,55,57,12],extrem:50,bound_exchang:[16,25],uri_prefix:56,rafael:50,semant:[56,50],regardless:56,str_to_byt:4,extra:23,modul:[14,56,17,50],"0x4505a10":24,visibl:24,instal:[16,14,50,11],regex:46,limitexceed:[0,56],memori:[14,15,50,16,3,20,21,25,34],eletzhof:50,todai:34,handler:[43,23,32],criteria:25,msg:[12,18],scope:[3,32],prev:46,create_produc:37,faircycl:[3,51],peopl:34,send_repli:12,ctype:50,simplebuff:[29,53,56,50],cached_properti:38,unseri:11,content_typ:[2,31,11,3,50,17,18,45,37,39,25,55],prepar:[37,3,38],uniqu:[38,50,12,25],descriptor:38,can:[3,12,16,17,18,20,22,23,25,27,29,2,31,38,39,11,50,57,49,55,56,34,58],pidbox:[43,14,21],encapsul:18,stream:11,topic:[16,3,20,21,25,46,34],critic:[34,44],exchange_delet:3,occur:[2,49,11,56,25],alwai:[16,20,56,50,25],multipl:[50,49,20,38,23,57],kombuerror:50,write:50,purg:[55,30,49,2,25],map:[43,2,3,37,39,10,55,46],product:50,max:38,clone:[56,50],known_host:50,mixin:[14,50,49,35,21,22,23],date:[29,21,50,17,36],drastic:50,data:[29,43,11,3,50,17,18,36,21,10],grow:57,gethostnam:29,practic:[16,20],stdin:56,predic:51,inform:25,"switch":50,combin:38,media_exchang:16,ttr:50,objectdoesnotexist:40,still:[55,2,49,34,50],amqpchannelexcept:18,entiti:[0,14,2,49,50,37,21,22,39,25,55,57,12],group:[37,57,36],polici:50,amqplib:[14,50,16,18,20,21,10],yaml:[11,17],window:[55,2,49],mail:[16,34],non:[16,3,50,25],connect_max_retri:23,synopsi:[16,14],myvhost:20,initi:[3,50],restore_unacked_onc:3,now:[50,38,25,12,17],introduct:[43,14,16,36,21,34],term:[55,2,49],name:[29,2,43,11,16,49,50,45,20,38,24,10,25,55,53,56,12],"0x2df8c90":11,drop:50,separ:[16,56,46,50,25],attributeerror:[18,50],courag:34,x16:41,errback:[56,38,12],domain:[16,25],replac:[55,4],individu:50,persistent_delivery_mod:25,contrib:50,autent:50,default_connection_param:[18,50],year:34,urlpars:50,happen:[29,2,31,50,16,37,39,55,34],max_retri:[38,56,50],correct:50,earlier:33,migrat:50,domest:57,million:34,orm:[16,50],mime:[11,45,50],process_task:35,org:[55,58,50],close_connect:[3,31,18],care:57,setdefault:19,synchron:[3,25,21,27,14],fromtimestamp:29,refus:50,recov:[2,50,3,49,55,34],turn:50,place:50,log_messag:29,star:[16,25],frequent:[14,33],lambda:25,oper:[13,2,50,16,49,25,55,56],create_transport:56,directli:[3,50],onc:[3,57],yourself:23,fast:17,"6dev":50,open:[50,16,17,20,38,56],size:[30,50,16,49,2,55],given:50,fmt:38,slept:56,silenc:50,basic_publish:3,conveni:[57,50,23,12,11],routing_kei:[43,2,16,3,35,17,37,39,25,55,53,56,46,57],copi:[56,22,46,19],specifi:[29,2,31,11,3,49,50,17,20,39,37,10,25,55,56,12],broadcast:[43,46,34,12,50],github:16,handle_cast:43,than:[2,50,16,34,49,17,25,55,27,57],connectionpool:[56,57,50],were:[50,25],posit:38,conn2:57,conn1:57,no_ack:[2,50,3,49,53,25,55,56],transport:[30,1,46,40,15,14,16,3,50,51,31,18,36,20,21,24,10,26,56,41],seri:50,simpledb:[16,20,50],sai:38,argument:[29,2,43,50,3,49,36,20,38,23,37,25,55,39,56,46,57,12],deliv:[2,16,49,25,55,46,34],notbounderror:[0,16],notimplementederror:[55,3,49,2],destroi:50,note:[2,11,50,17,37,39,25,55,56,57],take:[2,38,23,49,25],channel:[0,3,12,15,16,17,18,20,21,22,23,25,46,29,2,31,35,41,37,39,40,43,50,49,52,53,55,56],sure:[33,23],multipli:50,unsuccess:3,price:34,compress:[29,14,2,16,50,35,45,37,21,22,39,55,53,57],greenthread:23,add_consum:55,pair:[56,19,25],entry_to_queu:[12,50],later:[20,34,50],amqpconnectionexcept:18,runtim:57,gracefulli:16,recipi:[55,2,49,34],type_to_nam:50,serializ:3,should_stop:23,onli:[29,11,50,16,3,20,25,27,34],explicitli:[20,25],priority_step:41,transact:[3,34,50],activ:[2,3,49,25,55,56,57],state:[43,15,3,21,38,25,46],dict:[20,56],get:[29,14,16,3,51,45,53,38,10,25,56,46,57],kombu_log_debug:50,lifoqueu:[19,50],ssl:[20,56,50],cannot:18,jpeg:17,munz:50,requir:[29,2,50,37,39,55,23,46,34],fileno:41,intermitt:12,get_manag:18,scott:50,where:[50,51,38,23,25,57],wiki:58,parse_url:7,consumerset:[55,21,50],fanout:[43,50,16,3,20,21,25,46,34],if_unus:[3,25],infinit:55,can_consum:[3,58],detect:[2,50,17,18,37,39,55],enough:33,between:[2,50,3,37,38,39,25,55,56,27],"import":[29,50,16,34,49,35,20,23,25,57],across:16,connection_for_writ:30,cycl:[3,17],prepare_messag:[3,18],come:[29,34,50],prepare_bind:46,region:50,mani:[56,34,17,50],improp:50,cancer:25,overview:[16,21,11],period:34,pop:[30,19],dispatch:[43,2,49,55,18],colon:56,cancel:[43,2,32,16,3,49,50,23,25,55],poll:[3,50,25],resynchron:27,mari:50,transient_delivery_mod:25,addit:[29,2,50,20,38,23,37,25,55,39,56,12,53],former:29,"case":[11,50,57,17,25],exchange_typ:[55,3],hello_task:35,cast:43,parse_qsl:50,advantag:[17,25],henc:25,destin:[43,25],syncdb:50,strain:50,myapp:50,abstractchannel:3,ascii:11,"__init__":[29,49,23,35],develop:[16,50],author:[16,50],media:16,same:[29,50,16,49,17,20,25,56,57],binari:[11,50,17,25],refresh_connect:40,document:[16,14,56,20,55],week:34,finish:[55,2,49,25],nest:[38,49],decompress:45,improv:[55,2,49],basic_return:18,drain:[2,3,49,37,39,23],polling_interv:[3,50,40,41],reload_schedul:43,without:[50,4,17,36,20,25],maybe_promis:13,model:[14,24,21],"0x3012c08":25,execut:32,when:[3,10,13,16,17,18,20,22,23,25,27,29,2,31,32,37,38,39,50,49,55,56,34,58],on_consume_end:23,safety_interv:23,monei:34,aws_access_key_id:50,as_uri:[57,50],except:[0,3,4,14,16,17,18,21,23,24,2,35,37,38,39,40,11,50,49,51,56,57],blog:25,earli:57,around:17,read:[16,17,25],lolcat1:16,insist:[20,56],amq:[3,46,18],world:[35,50],postal:34,integ:[50,25],server:[2,31,50,16,3,49,18,20,25,55,56],from_dict:55,either:[16,38,34,25],manag:[50,30,14,3,5,21,38,23,24,57],cancel_by_queu:[55,2,49,50],eventloop:50,authent:50,tube:57,achiev:34,video_queu:16,notabl:17,refer:[14,50,49,17,36,21,39],broker:[2,50,3,49,34,18,25,55,56,57,12],broken:50,maybe_bind:[22,25],aquir:50,"__name__":[29,35],comparison:[16,14,20,36],central:[11,34],cleanup_everi:30,ack:[29,31,50,16,3,49,35,41,23],activest:58,morin:50,surviv:34,your:[50,16,34,33,17,20,25,57],log:[29,14,50,44,18,21,23],aren:57,strict:34,interfac:[29,14,31,50,16,36,53,21,55,56,46],low:35,hard:34,register_callback:[16,2,49,55],connection_info:43,tupl:[11,31,46,38],queue_declar:[3,50,25],shamelessli:25,longer:50,iterkei:19,reappli:56,possibl:[16,11,57,50],"default":[3,10,19,16,17,18,12,20,23,25,46,2,31,36,37,39,11,50,49,55,56,57],bucket:58,deadlock:57,connect:[0,3,12,14,15,16,18,20,21,22,23,25,29,2,31,35,36,37,38,39,40,43,50,49,52,55,56,57],creat:[29,37,50,43,20,22,25,56,57],multipleobjectsreturn:[24,40],certain:50,decreas:50,file:[16,56,17],girlfriend:34,again:[38,49],logger_nam:44,exitprior:32,flavio:50,field:[20,25],subclient:41,cleanup:[30,50,32],collis:[38,12],you:[29,2,31,11,16,3,49,50,34,17,20,23,25,39,56,57,12],reply_text:18,registri:[21,50,45,11],kombu_polling_interv:50,pool:[37,14,50,35,36,20,21,56,57,12],unbind:25,directori:[16,50],chauvet:50,descript:25,potenti:[55,2,49,50],all:[2,50,16,3,49,34,17,18,20,25,55,46,57,19],forget:20,selinux:50,month:34,abil:[16,50],follow:[2,50,16,49,17,37,39,55,27],disk:[34,25],"__cmp__":13,init:43,program:[34,17,50],get_reply_queu:43,introduc:50,mpg:29,consum:[29,14,43,36,2,16,3,49,50,51,17,35,53,21,23,25,55,34,12,58],solem:[0,3,4,9,10,19,15,18,12,22,23,25,27,2,31,32,45,41,37,38,43,11,46,50,51,52,53,55,56,58],fals:[37,2,15,11,3,49,50,38,19,20,22,23,25,55,39,56,41,12],util:[13,14,45,11,32,4,52,51,35,7,21,22,19,9,38,12,49,58],mechan:[55,2,49],fall:[55,2,49],veri:[34,38,57,12,35],ticket:43,client_0_8:18,on_connection_reviv:23,list:[37,2,11,16,49,50,17,45,20,23,55,39,56,12],queuemanag:[30,24],emul:3,adjust:27,default_port:[3,31,40,18,41],small:[38,12],still_act:32,sync:[16,27],rate:[14,58,21],design:25,pass:[37,2,43,11,50,17,20,38,39,55,56],deleg:50,sub:[16,20,34],clock:[50,14,27,21],abl:[57,50],overload:13,delet:[2,50,16,3,49,18,38,25,55,56,12],version:[16,33,19,50],"public":37,hasn:[37,55,39],full:[16,10],hash:[16,25],behaviour:50,shouldn:34,modifi:25,hipri:35,valu:[13,50,3,18,20,38,25,27,57,19],search:14,sender:[27,34,18],serializat:50,soldier:34,action:[38,50,25],amqplain:50,via:[16,20,50],primit:[16,35,25],transit:20,deprec:[56,50],famili:34,suddenli:50,establish:[50,18,20,22,23,56],select:[3,31,50],distinct:50,method_sig:18,regist:[2,11,49,17,45,55],two:[29,2,50,16,34,49,38,25,55,57],coverag:57,taken:[20,58,32],"_queue_bind":46,basi:17,forcefulli:50,more:[0,3,4,9,10,19,15,16,17,18,12,22,23,25,27,2,31,32,45,41,37,38,43,11,46,50,49,51,52,53,55,56,58],prefetch_s:[55,3,49,2],get_loglevel:44,desir:17,crosland:50,flag:[2,3,49,53,22,25],broke:50,sens:25,known:50,cach:[38,50],none:[3,10,19,44,18,12,23,25,46,29,2,31,32,41,37,38,39,43,11,50,49,52,53,55,56,34,58],aws_secret_access_kei:50,resolve_transport:10,histori:[14,50],remain:25,del:38,requeu:[2,31,3,49,33,41,55],delivery_tag:[3,31,41],def:[29,43,16,49,35,38,23,56],close_channel:[3,31],share:[20,46],dump_entri:29,accept:[55,2,49,23,50],cours:20,secur:16,rather:[2,50,3,49,55,57],anoth:34,reject:[3,31,33,41],scienc:25,simpl:[29,14,2,49,50,35,36,53,21,55,27],unabl:23,resourc:[37,50,51,18,20,56,57],librabbitmq:50,associ:[20,50,45,18,25],"short":18,django:[50,30,14,16,5,21,24,40],caus:[17,18,50],callback:[29,2,43,32,16,3,49,50,35,37,22,23,25,55,39,56,38,12],doesnotexist:24,queue_delet:3,help:[16,14,19,50],queue_opt:[53,56],image_queu:16,held:[55,2,49],through:34,reconnect:18,undeliver:[37,2,39],brokerconnect:[29,43,31,50,16,3,35,20,23,56,57],paramet:[37,2,11,3,49,50,45,18,20,38,39,25,55,56,46,57,12],itervalu:19,serializerregistri:11,reprcal:[38,35],exchang:[3,12,14,16,17,20,21,23,25,46,29,2,35,41,37,39,43,50,34,49,53,55,56,57],epol:50,wouldn:34,good:17,"return":[43,2,31,11,3,49,50,35,17,38,23,45,25,39,46,34,19,58],timestamp:[29,27,58],detect_environ:[9,50],framework:[16,14],cet:50,userid:[20,56,18,50],restore_unack:[3,41],easili:[16,50],token:58,reactiv:[55,2,49],found:25,unicod:[11,17,50],memoryerror:50,send_as_task:35,monoton:27,realli:16,expect:[34,58],handle_messag:43,orient:16,safeti:58,publish:[30,31,2,16,3,50,34,17,35,37,21,39,25,55,53,56,57],payload:[29,30,31,50,16,3,35,24],print:[29,16,34,49,35,38,23,56,57],qualifi:10,advanc:[16,2,49,55],pub:[16,20,34],reason:16,base:[11,31,14,3,50,21,46],put:[29,3,31,53],sent_at:24,pyyaml:[11,50],add_queue_from_dict:50,thread:[57,58,23,50],delivery_info:[3,31],oserror:18,simple_task_queu:50,number:[0,37,2,3,50,20,38,23,55,39,56,58],feet:57,when_bound:[22,25],done:[2,3,49,25,55,56],blank:25,stabl:50,miss:17,is_bound:22,differ:[29,50,49,35,20,23],guest:[29,50,16,35,20,57],least:25,handle_ev:41,statement:16,scheme:[16,17,25],store:[50,16,20,38,40,25,46],reject_log_error:3,option:[37,2,43,11,16,49,50,17,20,23,25,55,39,56,12,53],auto_delet:[50,3,46,55,25],bytes_to_str:4,eventio:50,process_media:16,part:[20,3,50,17,25],pars:50,consult:[20,56,10],send_messag:50,whenev:50,remov:[29,31,50,3,25,19],serializernotinstal:11,str:[11,50],premoli:50,packag:[16,11,55],imagin:34,built:[16,17,38,10,25,34],equival:[29,46],florian:50,self:[29,11,49,35,53,38,23,56],also:[2,50,16,49,17,20,23,25,55,56,27,34],build:16,maybechannelbound:22,pipelin:41,distribut:[16,27,50],previou:50,reach:38,priority_to_routing_kei:35,most:[16,56,58,25],news_exchang:[57,25],on_consume_readi:23,exc:[2,49,35,38,23,56],clear:[53,3,19],cover:25,clean:57,latest:[16,50],miron:50,multi_cal:43,keyprefix_queu:41,on_consumer_end:49,nasdaq:[16,25],session:[37,55,39],daisuk:50,sqla:50,fine:34,find:[55,2,49],clean_kombu_messag:[14,5,21],fxrang:38,copyright:[0,3,4,9,10,19,15,18,12,22,23,25,27,2,31,32,45,41,37,38,43,11,46,50,51,52,53,55,56,58],solut:16,couldn:56,queu:16,bernstein:50,unus:25,express:[17,50],resent:34,nativ:[16,20,17],mainten:50,fastest:34,get_queu:43,restart:[34,25],bound_science_new:25,cyclic:50,stdchannelerror:[40,18,50],rfc:18,common:[14,50,16,35,21,25,57,12],set:[38,2,31,46,11,3,49,50,51,17,20,22,23,25,55,39,56,27,57],dump:38,sep:[38,41],get_limit:37,see:[0,3,4,9,10,19,13,15,16,18,12,20,22,23,25,27,2,31,32,33,45,41,37,38,39,43,11,46,50,34,49,51,52,53,55,56,57,58],arg:[13,30,32,3,4,35,18,44,37,22,19,24,40,55,23,38,41,12],close:[29,37,50,16,3,49,51,18,41,20,25,55,53,56,57],someth:[29,50],particip:16,won:[3,25],mutex:27,logwrap:52,on_poll_init:[18,41],altern:[2,49,17,20,25,55,56],signatur:[2,50,49,37,39,55],kostenko:50,mailbox:[43,21],lowercas:50,infam:4,distinguish:50,both:[16,29,50,12,25],consumermixin:[49,23,35,50],last:[56,50,58,19,25],delimit:25,tokensin:58,event:[2,50,16,3,49,18,41,37,23,39,56,27],"0x47b5e50":15,context:[29,43,50,18,20,38,23],whole:[55,2,49],load:20,simpli:16,point:3,instanti:[2,50,49,37,39,55,56],schedul:[3,51,21,14],header:[2,31,50,3,17,18,37,39,25,55,53,46],provok:18,shutdown:3,linux:50,backend:[55,46,15,50],becom:50,stamp:27,"0x4505f10":24,due:[31,18],empti:[50,25],yadda:57,modern:17,ensure_byt:4,imag:[16,17],great:34,coordin:34,demand:50,stolen:[58,25],"while":[29,43,2,16,49,50,38,23],duran:50,behavior:50,error:[29,31,50,16,3,4,35,18,44,23,25,56],fun:[13,43,51,35,38,23,56,12],anonym:50,loop:56,ordereddict:50,readi:[2,3,49,23,25,55],jpg:17,itself:[55,2,49,50],weakref:32,shorter:50,decod:[2,31,11,3,49,50,17,45,21,23,55],"__repr__":13,optim:34,syn:[14,50,9,21],user:[29,14,50,16,36,20,56],chang:[3,50,57,14],recent:[56,33,50],lower:50,task:[16,50,23,35,36],older:[19,50],entri:[29,58,50],pickl:[16,11,50,35,17],rajith:25,cest:50,mysql:50,poller:[18,41],andrii:50,shortcut:[29,56,50],sslerror:50,is_enabled_for:44,default_encod:4,dataerror:50,pyamqplib:20,auto_declar:[2,50,49,37,39,55],format:[20,50],insert:19,bit:17,characterist:17,resolv:18,collect:3,"boolean":17,popular:16,deadletter_queu:[50,41],often:57,acknowledg:[0,2,31,50,3,49,53,23,25,56],some:[16,27,34,17,50],back:[3,31,57,18,34],per:[57,17,50],prop:12,retri:[2,50,37,38,39,55,23,56,12],slash:50,undoc:5,kumria:50,run:[4,23,35,49,50],step:[38,23],constraint:17,class_id:18,delivery_mod:[2,50,37,39,25,55],block:[29,50,35,53,56,57],"__future__":[29,35],within:[55,2,49],ensur:[2,50,16,3,37,22,39,55,56,12],durabl:[16,3,25,55,56,46],errno:50,question:[14,33],"long":[38,50,34,25],custom:[50,16,36,17,25,57,12],includ:[27,17,10,50],collect_repli:12,forward:[50,27,23,25],properli:[50,25],channellimitexceed:[0,56],translat:50,sdb:50,line:56,info:[29,43,50,35,44,56],utf:11,consist:[16,25],minhe:50,parser:50,doesn:33,repres:11,cure:25,guarante:3,amqp:[29,2,11,16,34,50,35,18,20,22,39,37,25,55,57],titl:[47,54,28,6,8,48,57,42],my_pictur:17,codec:50,kombu:[0,1,2,3,4,7,9,10,11,19,13,14,15,16,17,18,12,20,21,22,23,24,25,26,27,29,30,31,32,35,45,37,38,39,40,41,43,44,46,50,49,51,52,53,55,56,57,58],deseri:[29,3,31,17,11],from_transport_opt:41,mongodb:[16,20,50],get_transport_cl:[56,10],drag:57,ago:34,algorithm:[16,58,25],far:34,hello:[35,50],pluggabl:16,code:[58,57,18,50],queri:20,brokerst:[3,15],simplequeu:[29,53,56,50],base64:[17,50],send:[29,2,43,11,16,34,49,50,17,18,36,20,25,55,27,57],body_encod:[50,41],aris:29,restore_at_shutdown:[3,41],movsisyan:50,passiv:[3,50,25],reprkwarg:38,account:50,cellular:57,recip:58,abcast:43,iterconsum:55,michael:50,after_reply_message_receiv:15,ack_log_error:3,"try":[0,2,43,50,49,35,38,23],race:50,maxsiz:19,"__copy__":50,pleas:[16,50],impli:25,smaller:[55,2,49,17],skvazh:50,video:[16,29],download:16,append:[3,41],compat:[14,50,16,17,21,55,19],index:[16,14],access:[13,3,50,25],kombu_log_connect:50,experiment:50,fujiwara:50,timeouterror:0,iteritem:19,len:53,bodi:[43,2,31,11,16,3,49,50,35,18,45,37,23,25,55,39],let:[57,50],ioerror:18,ensure_connect:[56,50],sinc:17,nb_keep_drain:18,convert:[3,18,50],convers:46,larger:17,implement:[50,16,3,33,20,23,56,46,58],fxrangemax:38,chanc:[38,51,12],appli:[2,50,49,23,55,56],app:57,beanstalk:[16,20,50],api:[3,50,21,14],redi:[14,50,16,41,20,21,46,57],usd:[16,25],from:[3,4,19,16,18,20,25,27,29,2,31,32,35,50,57,49,51,53,55,56,34,58],login_method:[56,50],commun:34,upgrad:50,next:[38,50],"transient":[29,56,50,34,25],message_to_python:[3,18,50],rabbit:16,rare:50,shortstr:18,annoy:16,unacknowledg:[55,3,49,2],alia:[0,50,45,10,25],annot:44,annoi:50,tag:[50,3,41,25],restore_vis:41,fetch:[55,30],control:[55,2,49,50],process:[29,2,31,50,16,3,49,17,55,43,27,57],high:[16,34,35],carrot:[16,55,50],tarbal:16,serial:[29,14,36,2,16,50,35,17,37,21,39,25,55,53,11,57],uuid4:[38,12],handle_cal:43,brian:50,memoiz:13,instead:[20,3,29,50],stock:[16,34,25],"0x2dca5a0":19,on_connection_error:23,reply_exchang:43,loglevel:[52,35,44],seriou:50,counter:[27,18,50],correspond:[3,46,50],issu:[16,57,18,50],allow:[16,50],ingress:57,move:[27,50],qsize:53,warren:16,willing:50,anyon:34,therefor:25,eur:[16,25],crash:[4,50],greater:27,python:[29,14,31,11,16,3,50,17,18,55,19,58],auto:[2,17,37,39,25,55,56,12],dan:50,dai:34,auth:50,terminolog:[16,14],unregist:[11,50],interval_max:[38,56],multiprocess:32,anyth:[57,50],msg_peek:50,queues2:49,queues1:49,mode:[50,34,25],on_iter:23,poolgroup:37,redeliv:[55,2,49],globe:34,channelpool:[56,50],our:[16,50,57,18,25],special:[16,11,57,25],out:[16,3,50,58,32],variabl:50,twice:22,req:12,ret:50,suitabl:11,sever:[16,20,49,34,44],shut:18,insid:17,"_kombu":41,bound_sicence_new:25,kilobyt:50,undo:[55,2,49],dictionari:[11,17,19],releas:[37,50,36,20,21,55,56,57],reset_aft:37,unwant:50,could:[34,50],ask:[0,3,4,9,10,19,14,15,16,18,12,22,23,25,27,2,31,32,33,45,41,37,38,43,11,46,50,49,51,52,53,55,56,58],david:50,connectionlimitexceed:[0,56,57],channel_error:[31,50,18,23,40,56],issue10272:50,reply_cod:18,south:50,cristian:50,softwar:[16,27],christoph:50,exchange_declar:3,qualiti:[55,3,49,2,21],oldpika:50,basic_get:[3,50],ziegler:50,mai:[2,34,49,17,18,20,25,55,56,57,58],retry_over_tim:38,prioriti:[2,3,35,18,41,37,39,25,55],token_bucket:58,start:[50,16,41,38,25,56,57],unknown:50,licens:[0,3,4,9,10,19,14,15,16,18,12,22,23,25,27,2,31,32,45,41,37,38,43,11,46,51,52,53,55,56,58],expected_tim:58,capac:58,messag:[0,3,12,35,14,16,17,18,20,21,23,24,25,27,29,2,31,33,36,41,37,39,40,43,11,46,50,34,49,53,55,56,57],stephan:50,monkei:50,pavel:50,"final":[43,14,50,21,32],get_nowait:53,"__del__":50,shallow:19,message_data:[3,18],basic_cancel:[3,50,18,41],structur:[3,31,17,11],charact:[16,11,46,50,25],itermessag:12,bind:[2,16,3,49,41,22,25,55,46],steev:50,deliveri:[50,34,25],kwdict:[38,35],terribl:50,py2:50,have:[29,2,50,16,34,49,17,20,38,23,37,25,55,39,56,57,12],disadvantag:17,need:[29,2,50,16,34,49,17,20,23,37,55,39,56,46,57],rout:[29,2,50,16,3,20,39,37,25,55,56,46],mid:35,mix:49,get_tabl:[3,46,41],which:[29,2,50,34,49,17,18,20,23,25,55,57,19],zlib:57,singl:[29,2,50,49,38,25,56,46,34],unless:11,who:35,deploi:34,rkei:[46,17],why:34,marshal:11,url:[14,50,36,7,20,21,56],request:[2,11,49,18,55,56,34],determin:25,fact:57,text:[16,4,44,18,45],sent:[2,31,50,16,3,49,17,25,55,34],raw_encod:11,anywai:34,setter:38,locat:50,forev:[38,57,56,50],should:[11,50,16,49,2,23,55,57,58],extra_context:23,local:[55,2,49,25],contribut:[16,14,50],beat:43,familiar:16,pypi:[16,55,50],maybe_conn_error:23,increas:[38,50],enabl:[2,50,16,3,49,37,39,55,53,56],directexchang:[3,46],contain:[50,3,11,25],get_decod:45,allowed_method:18,basic_reject:3,nitzan:50,lyon:50,correctli:[18,50],pattern:[16,34,25],written:34,email:34,nowait:[3,25],kei:[29,2,50,16,3,37,39,25,55,56,46,19],barrett:50,mongod:50,equal:[55,2,49,51,19],etc:[16,17],instanc:[38,2,31,50,3,49,17,52,22,23,25,55,56,57,12],default_channel:[49,50],iterqueu:55,repeatlast:38,on_special_messag:49,solv:50,on_decode_error:[55,2,49,23,50],respect:[57,50],compon:50,myq:50,json:[29,2,11,16,50,17,37,39,57],autoretri:50,treat:25,"0rc2":16,immedi:[2,37,39,25,55,56],ghettoq:50,lopri:35,decim:17,queue_nam:[29,30],bye:35,process_next:55,plain:17,harder:20,defin:[29,16,3,18,22,23,25,46,34,12],create_channel:[3,31,18],eintr:50,layer:16,avi:16,apply_glob:[55,3,49,2],incom:27,reviv:[2,50,49,37,22,39,55],welcom:16,parti:34,cross:17,member:5,handl:[43,2,50,16,49,18],http:[16,55,58,50],hostnam:[29,43,50,18,20,56],logfil:44,fromkei:19,keyboardinterrupt:35,thought:27,exampl:[29,14,43,11,16,34,50,35,36,20,38,23,25,56,46,57],command:[43,12,50],choos:20,queue_purg:3,usual:[43,3,56,50,11],"0x101805650":57,detail:[0,3,4,9,10,19,15,16,18,12,22,23,25,27,2,31,32,45,41,37,38,43,11,46,51,52,53,55,56,58],percoco:50,simultan:0,unacked_index:41,add:[16,50],valid:20,is_al:18,bool:25,logger:[29,3,52,44,50],match:[16,46,50,18,25],gmt:50,jython:50,include_password:50,know:57,password:[20,56,18,50],recurs:17,loss:[2,50,49,37,39,55],like:[29,16,57,17,25,34],lost:[2,50,37,39,25,55,23],basic_recov:3,necessari:[34,50],if_unusu:3,lose:34,async:[43,14,50,16,21,9],page:14,exceed:[0,38,56,50],didn:[34,50],select_for_upd:30,gevent:[23,50],with_stat:[29,35],home:34,log_queu:29,librari:[29,50,17,25],tmp:16,lead:50,leak:50,avoid:[55,2,49,50],octet:[55,2,49],leav:[50,25],postencod:31,preload:56,encourag:[16,20],slight:17,usag:[56,27,50],host:[20,56,50],my_callback:16,although:[55,2,49,25],basic_qo:3,about:[16,57,25],actual:34,socket:[29,56,18,50],constructor:[43,3,56],discard:[3,31,18],anyjson:50,disabl:[2,50,16,3,49,20,39,55,53,56,57],topicexchang:[3,46],own:[31,50,20,25,27,57],easy_instal:16,automat:[2,50,16,49,37,39,25,55,56],ionel:50,transfer:[34,17],myqueu:29,safe_repr:4,adher:3,"function":[13,14,50,45,21,38,23,10,25,56,57,12],simplejson:17,subscrib:[55,2,49,34],keyerror:50,gain:17,open_fil:38,overflow:[55,2,49],bug:[16,14,50],count:3,dispatch_method:18,whether:[20,22,25],record:34,limit:[0,14,43,2,3,49,50,17,37,21,23,55,56,57,12,58],indefinit:50,virtual_host:[20,56,50],basic_consum:[3,40,18,41],otherwis:[55,2,49,25],problem:[16,50],evalu:13,"int":50,dure:[37,55,39],filenam:29,on_rev:[56,12,50],replica:50,contextlib:29,pip:16,probabl:17,bzip2:35,brokertransport:50,virtual:[14,15,50,16,3,51,20,21,56,46],other:[2,49,17,18,20,55,27,34,19],lookup:[46,50],get_encod:45,rememb:[16,56,19],mpromis:13,fulli:[10,50],june:[21,36],stai:[16,50],messagemanag:[30,24],experienc:50,sphinx:16,reliabl:[16,34,36],rule:[27,18],cookbook:58},objtypes:{"0":"py:module","1":"py:data","2":"py:method","3":"py:attribute","4":"py:function","5":"py:class","6":"py:exception","7":"py:classmethod"},titles:["kombu.exceptions","kombu.transport.sqlalchemy","kombu.messaging","kombu.transport.virtual","String Encoding - kombu.utils.encoding","Django Management - clean_kombu_messages","<no title>","kombu.utils.url","<no title>","Async Utilities - kombu.syn","kombu.transport","kombu.serialization","Common Utilities - kombu.common","kombu.utils.functional","Kombu Documentation","kombu.transport.memory","kombu - Messaging Framework for Python","Serialization","kombu.transport.amqplib","Compat. utilities - kombu.utils.compat","Connections and transports","API Reference","kombu.compression","Mixin Classes - kombu.mixins","Django Models - kombu.transport.django.models","kombu.entity","kombu.transport.pika","Clocks and Synchronization - kombu.clocks","<no title>","Simple Interface","Django Managers - kombu.transport.django.managers","kombu.transport.base","Finalize - kombu.utils.finalize","Frequently Asked Questions","Introduction","Examples","User Guide","General Pools - kombu.pools","Utilities - kombu.utils","Producers","kombu.transport.django","kombu.transport.redis","<no title>","kombu.pidbox","Logging - kombu.log","kombu.compression","kombu.transport.virtual.exchange","<no title>","<no title>","Consumers","Change history","kombu.transport.virtual.scheduling","Debugging - kombu.utils.debug","kombu.simple","<no title>","kombu.compat","kombu.connection","Connection and Producer Pools","Rate limiting - kombu.utils.limits"],objnames:{"0":["py","module","Python module"],"1":["py","data","Python data"],"2":["py","method","Python method"],"3":["py","attribute","Python attribute"],"4":["py","function","Python function"],"5":["py","class","Python class"],"6":["py","exception","Python exception"],"7":["py","classmethod","Python class method"]},filenames:["reference/kombu.exceptions","reference/kombu.transport.sqlalchemy","reference/kombu.messaging","reference/kombu.transport.virtual","reference/kombu.utils.encoding","reference/kombu.transport.django.management.commands.clean_kombu_messages","reference/kombu.transport.mongodb","reference/kombu.utils.url","reference/kombu.transport.SQS","reference/kombu.syn","reference/kombu.transport","reference/kombu.serialization","reference/kombu.common","reference/kombu.utils.functional","index","reference/kombu.transport.memory","introduction","userguide/serialization","reference/kombu.transport.amqplib","reference/kombu.utils.compat","userguide/connections","reference/index","reference/kombu.abstract","reference/kombu.mixins","reference/kombu.transport.django.models","reference/kombu.entity","reference/kombu.transport.pika","reference/kombu.clocks","reference/kombu.transport.couchdb","userguide/simple","reference/kombu.transport.django.managers","reference/kombu.transport.base","reference/kombu.utils.finalize","faq","userguide/introduction","userguide/examples","userguide/index","reference/kombu.pools","reference/kombu.utils","userguide/producers","reference/kombu.transport.django","reference/kombu.transport.redis","reference/kombu.transport.pika2","reference/kombu.pidbox","reference/kombu.log","reference/kombu.compression","reference/kombu.transport.virtual.exchange","reference/kombu.transport.beanstalk","reference/kombu.transport.sqlalchemy.models","userguide/consumers","changelog","reference/kombu.transport.virtual.scheduling","reference/kombu.utils.debug","reference/kombu.simple","reference/kombu.transport.librabbitmq","reference/kombu.compat","reference/kombu.connection","userguide/pools","reference/kombu.utils.limits"]})PK=@O nnkombu-1.0/objects.inv# Sphinx inventory version 2 # Project: Kombu # Version: 2.2 # The remainder of this file is compressed using zlib. xڽ]IsܸWTļkUJ{/^ n7sbHT-IsT$K%D"/3_pUEnn77Igv?yjNٿ Wo7+vU\9뢤)W6Moӕu7?VϯEbTfX5Qa/y}vٱ]$,շ"imɯ."S=OByQb\~Ћf/\_`^|@mX<ͧnD]Ҽ hGI~-5x \O0 8E?mS. 5:q],E4K+]쮯D(oHxU=z]'AJAU_hb_hF6نKj9B̈́,wL(W }~+j[-ق_d^dI!}_e!55W ׿Zu/HF#AuMmޣ:u]6N]>{ ް$s[6zˍށG78c7bsB9qtnavmXrbjTDw-3\Z.Q]~:jUӢlSO\lFЂ,fVe.Q}ó˝s[ӯ2KW믶d3%JFyDq"YOY$8}6FKPc HO[j%7nOEb}RCE4]0|41cGA]2!,3],u0LeeȘ >cwwݶ~Eˏ؅0M,*@/4!qĠA/5|Nb7[PEO|$RlǨH7MrxC|_UEկ j*ݷ ޑckwbHl3=4Tq-"dEN|hYZ?j3>|.RrsM`rP4p ( MPK400cu,Ej}yx>rZJt xNuYK|JZ_/բϴԢ3,%n"m-b);_ 2"aT2GN7;P5zWǜ(, Q}JƃT8O|j}-ߨyICl/-(Jm'fǛ}  mfT/~&uJ^D(~vSߜH|* RViQ `|ڦ v{[{?뇢͓>53i vn)*&&)^P,P7[FyxML&[u1^=7Y'ER/-}:w ' '$kG4Jr {m2E>LU%z+G0^:9.Y~=.;s*Ɣl<bn 2$|G %+9ڒl)It)Q0eqU,A ]h!4q1ՎhM(nCQEkwpi +G&)mΞfnpkoƇ o;QO; bm(N6*F 挼sȼ_D]ˉ.Egc1IzC߲vCkL|x#qd|QgjL&^Xv9|,4 G\ȖaSP; [E=a[mt?x&.%XH'ߗ)oeQv^:GT y(lX 4~leb-y$}yC+=AB%Ska%Wܟ?h䓺Hu=юdZ:b(Ui!@!ʡʼxEibp-uQS 8~QFߙh$t0u|ov1F#;i_wY@]& fri?<<>?7{_HV06hy%i2mrnIiс?ȼ䈂X4;;?}X5kj9C $bwjuf1skNs17_e2U [uB fUVr̈!\q˘eyBu| pfQ2s (7%;@F,pq E6zqO)=GYx[2"7sր5fw3\k7°qgV2,Y(*(D_&2,4D#Ƭ! sÍ: %Er>q!j='F*`ƨJ"әRjE59U 0AI[HO \c?DvBl4[|i"yҰw$]2;GP ^n01Fub-Q:cP>~ZoY3R7N' Eh);/7P0@քK7ޅ@y3|˥ 1a*O%+Z=vpg Q5;˴Z~ߏW5[--A<Б^ w*o}OE%q=J7+9$ 7;H*ڥ#8|{&zdnylw/tld;!PfxUƱtrfũfgȕH#vDXɑ"JTFcXemmɊG.:cCS s]ӋXG2f QyQۃ'6DS0֫ Atomazا9(hWAZZ%b;kr f[ :T]WlE38EC6uN0S[牒{8u2\Ws#MشLH4$i̷wPaO9'p3DfFJĒZ)C)&❨om#80?GtiӁ*Xtu"V4PA  #W#(8(=u8QtBo4{8"2=I[ >麲r#Js|!w ,-6.lC=Ű9׈[7AHDZXS^'/n A>@^.L]cÜ7t;`TXڳcMu-ɹJ=p2ڤR#zd~G,\^2K%kMQ_*uƹlx@ l^rުŸ$r]eޥ u:p_h"&vH g $)"jop(\ mP:pco F_DƵ0ؓb/A}:`yZj2Ԁ8]'z9]'nUDF ]}I,q-nyΈ#6q&e8ah)ס#a^7h3a[ *Qm w):C뀔VcP -|O4;.#{"(]I#0P ͬ7l<}gmzRWͫdJ;e%ɑr)6Axv'](fZSX8YU#MGX` P+e8vsX-ZJvwlDF`л@`Xt+/ct\uAtx|b'1鈮nW4F }> h,ϙ|vJUfKvp:mhd^? (x0es'bU]: N>5i0h@)ͻ}m1"&,'^nǜLYH泔Uv5ˌ<Ic *XG|EgnW.AYߒVTF;m1 6!N U&`*vpZ@:d~/ {i- RҒZMsJu0CPTa5ͤt=mT=`-VM- |\v\3~*pM^*j&VE&$.g {J7lCpWBڒXQwk)[YޯYyyAEԔ\OiܡS?!(L}9&fww串n,w-Z$wX7:&\3}g! "d 3+;I)1i9op.Z”6y,^D澞#  ar$X%5>9WNxKmEPmEO1/@t'&ِ!]<֮|a+۵r-md3{UW ^vGn.+("Y[{?\ ՎOm"ºmfGgWG1XWێ3)az共 ,;#|FiJD9VH >u>HD 910C#maӎC"I73M#LL 'ARMՓqߜ:Jg]ľT8V,;F"Z-WR]|Tu2@#)v PBY4@Ȝ틫Icd]Ob붆ٵhdh 1j*¤ۙӭ\q,5i~Kd`=g˜KT陭%F{>*J ('[UI%۹:QkP%Ȓ.PǜZmfE6dX(wI6QM+CwRۦ-66auGf5ޱΌh<^y?2&n4ę #+St߾G=A(iOe4L菧 pD+Wb 5T [Sn,O( 7BGBW", #K(jdЇoys,m)`>).\XtxI(gFm{$Vm("0ңOwE8PK=@خb&b&kombu-1.0/faq.html Frequently Asked Questions — Kombu 2.2.0rc2 documentation

Frequently Asked Questions

Questions

Q: Message.reject doesn’t work?

Answer: Earlier versions of RabbitMQ did not implement basic.reject, so make sure your version is recent enough to support it.

Q: Message.requeue doesn’t work?

Answer: See Message.reject doesn’t work?

Table Of Contents

Previous topic

Serialization

Next topic

API Reference

This Page




PK=@TTkombu-1.0/search.html Search — Kombu 2.2.0rc2 documentation

Search

Please activate JavaScript to enable the search functionality.

From here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.




PK=@OEkombu-1.0/genindex.html Index — Kombu 2.2.0rc2 documentation

Index

_ | A | B | C | D | E | F | G | H | I | K | L | M | N | O | P | Q | R | S | T | U | V | W

_

__len__() (kombu.simple.SimpleBuffer method)
(kombu.simple.SimpleQueue method)

A

abcast() (kombu.pidbox.Mailbox method)
AbstractChannel (class in kombu.transport.virtual)
ack() (kombu.transport.base.Message method)
(kombu.transport.redis.Channel.QoS method)
(kombu.transport.redis.Transport.Channel.QoS method)
(kombu.transport.virtual.Message method)
(kombu.transport.virtual.QoS method)
ack_log_error() (kombu.transport.virtual.Message method)
acknowledged (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
acquire() (kombu.connection.ChannelPool method)
(kombu.connection.ConnectionPool method)
active_queues (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Transport.Channel attribute)
add_consumer() (kombu.compat.ConsumerSet method)
add_consumer_from_dict() (kombu.compat.ConsumerSet method)
add_queue() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
adjust() (kombu.clocks.LamportClock method)
after_reply_message_received() (kombu.transport.memory.Channel method)
(kombu.transport.memory.Transport.Channel method)
alias (kombu.entity.Queue attribute)
annotate() (kombu.log.LogMixin method)
append() (kombu.transport.redis.Channel.QoS method)
(kombu.transport.redis.Transport.Channel.QoS method)
(kombu.transport.virtual.QoS method)
args (kombu.transport.virtual.Message.MessageStateError attribute)
arguments (kombu.entity.Exchange attribute)
attrs (kombu.entity.Exchange attribute)
(kombu.entity.Queue attribute)
auto_declare (kombu.compat.Consumer attribute)
(kombu.compat.ConsumerSet attribute)
(kombu.compat.Publisher attribute)
(kombu.messaging.Consumer attribute)
(kombu.messaging.Producer attribute)
(kombu.pools.ProducerPool.Producer attribute)
auto_delete (kombu.compat.Consumer attribute)
(kombu.compat.Publisher attribute)
(kombu.entity.Exchange attribute), [1]
(kombu.entity.Queue attribute), [1]
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY

B

backend (kombu.compat.Publisher attribute)
basic_ack() (kombu.transport.virtual.Channel method)
basic_cancel() (kombu.transport.amqplib.Channel method)
(kombu.transport.redis.Channel method)
(kombu.transport.redis.Transport.Channel method)
(kombu.transport.virtual.Channel method)
basic_consume() (kombu.transport.amqplib.Channel method)
(kombu.transport.django.Channel method)
(kombu.transport.django.Transport.Channel method)
(kombu.transport.redis.Channel method)
(kombu.transport.redis.Transport.Channel method)
(kombu.transport.virtual.Channel method)
basic_get() (kombu.transport.virtual.Channel method)
basic_publish() (kombu.transport.virtual.Channel method)
basic_qos() (kombu.transport.virtual.Channel method)
basic_recover() (kombu.transport.virtual.Channel method)
basic_reject() (kombu.transport.virtual.Channel method)
bind() (kombu.abstract.MaybeChannelBound method)
binding_arguments (kombu.entity.Queue attribute)
bindings (kombu.transport.virtual.BrokerState attribute)
body (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
Broadcast (class in kombu.common)
BrokerConnection (class in kombu.connection)
BrokerState (class in kombu.transport.virtual)
bytes_to_str() (in module kombu.utils.encoding)

C

cached_property (in module kombu.utils)
call() (kombu.pidbox.Mailbox method)
callbacks (kombu.compat.Consumer attribute)
(kombu.compat.ConsumerSet attribute)
(kombu.messaging.Consumer attribute)
can_cache_declaration (kombu.abstract.MaybeChannelBound attribute)
(kombu.entity.Exchange attribute)
(kombu.entity.Queue attribute)
can_consume() (kombu.transport.virtual.QoS method)
(kombu.utils.limits.TokenBucket method)
cancel() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.entity.Queue method)
(kombu.messaging.Consumer method)
(kombu.utils.finalize.Finalize method)
cancel_by_queue() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.messaging.Consumer method)
capacity (kombu.utils.limits.TokenBucket attribute)
cast() (kombu.pidbox.Mailbox method)
Channel (class in kombu.transport.amqplib)
(class in kombu.transport.django)
(class in kombu.transport.memory)
(class in kombu.transport.redis)
(class in kombu.transport.virtual)
channel (kombu.abstract.MaybeChannelBound attribute)
(kombu.compat.Consumer attribute)
(kombu.compat.ConsumerSet attribute)
(kombu.compat.Publisher attribute)
(kombu.entity.Exchange attribute)
(kombu.entity.Queue attribute)
(kombu.messaging.Consumer attribute)
(kombu.messaging.Producer attribute)
(kombu.pidbox.Node attribute)
(kombu.pools.ProducerPool.Producer attribute)
(kombu.simple.SimpleBuffer attribute)
(kombu.simple.SimpleQueue attribute)
(kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
Channel (kombu.transport.virtual.Transport attribute)
channel() (kombu.connection.BrokerConnection method)
(kombu.transport.amqplib.Connection method)
(kombu.transport.amqplib.Transport.Connection method)
Channel.Message (class in kombu.transport.amqplib)
Channel.QoS (class in kombu.transport.redis)
channel_errors (kombu.connection.BrokerConnection attribute)
(kombu.mixins.ConsumerMixin attribute)
(kombu.transport.amqplib.Transport attribute)
(kombu.transport.base.Transport attribute)
(kombu.transport.django.Transport attribute)
ChannelLimitExceeded
ChannelPool (class in kombu.connection)
ChannelPool() (kombu.connection.BrokerConnection method)
cleanup() (kombu.transport.django.managers.MessageManager method)
cleanup_every (kombu.transport.django.managers.MessageManager attribute)
clear() (kombu.simple.SimpleBuffer method)
(kombu.simple.SimpleQueue method)
(kombu.transport.virtual.BrokerState method)
(kombu.utils.compat.CompatOrderedDict method)
client (kombu.transport.base.Transport attribute)
(kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Channel.QoS attribute)
(kombu.transport.redis.Transport.Channel attribute)
(kombu.transport.redis.Transport.Channel.QoS attribute)
clone() (kombu.connection.BrokerConnection method)
close() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.compat.Publisher method)
(kombu.pools.ProducerPool.Producer method)
(kombu.simple.SimpleBuffer method)
(kombu.simple.SimpleQueue method)
(kombu.transport.amqplib.Channel method)
(kombu.transport.amqplib.Connection method)
(kombu.transport.redis.Channel method)
(kombu.transport.redis.Transport.Channel method)
(kombu.transport.virtual.Channel method)
(kombu.transport.virtual.scheduling.FairCycle method)
close_channel() (kombu.transport.base.Transport method)
(kombu.transport.virtual.Transport method)
close_connection() (kombu.transport.amqplib.Transport method)
(kombu.transport.base.Transport method)
(kombu.transport.virtual.Transport method)
collect_replies() (in module kombu.common)
CompatOrderedDict (class in kombu.utils.compat)
compress() (in module kombu.compression)
compression (kombu.compat.Publisher attribute)
(kombu.messaging.Producer attribute)
(kombu.pools.ProducerPool.Producer attribute)
connect() (kombu.connection.BrokerConnection method)
connect_max_retries (kombu.mixins.ConsumerMixin attribute)
Connection (class in kombu.transport.amqplib)
connection (kombu.compat.Consumer attribute)
(kombu.compat.ConsumerSet attribute)
(kombu.compat.Publisher attribute)
(kombu.connection.BrokerConnection attribute)
(kombu.pidbox.Mailbox attribute)
(kombu.pools.ProducerPool.Producer attribute)
connection_errors (kombu.connection.BrokerConnection attribute)
(kombu.mixins.ConsumerMixin attribute)
(kombu.transport.amqplib.Transport attribute)
(kombu.transport.base.Transport attribute)
(kombu.transport.django.Transport attribute)
connection_for_write() (kombu.transport.django.managers.MessageManager method)
ConnectionLimitExceeded
ConnectionPool (class in kombu.connection)
consume() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.entity.Queue method)
(kombu.messaging.Consumer method)
(kombu.mixins.ConsumerMixin method)
Consumer (class in kombu.compat)
(class in kombu.messaging)
consumer (kombu.simple.SimpleBuffer attribute)
(kombu.simple.SimpleQueue attribute)
Consumer() (kombu.mixins.ConsumerMixin method)
(kombu.pidbox.Node method)
ConsumerMixin (class in kombu.mixins)
ConsumerSet (class in kombu.compat)
consuming_from() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
content_encoding (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
content_type (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
copy() (kombu.utils.compat.CompatOrderedDict method)
create() (kombu.pools.PoolGroup method)
create_channel() (kombu.transport.amqplib.Transport method)
(kombu.transport.base.Transport method)
(kombu.transport.virtual.Transport method)
create_producer() (kombu.pools.ProducerPool method)
create_transport() (kombu.connection.BrokerConnection method)
critical() (kombu.log.LogMixin method)
cycle (kombu.transport.virtual.Transport attribute)
Cycle (kombu.transport.virtual.Transport attribute)

D

debug() (kombu.log.LogMixin method)
declare() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.compat.Publisher method)
(kombu.entity.Exchange method)
(kombu.entity.Queue method)
(kombu.messaging.Consumer method)
(kombu.messaging.Producer method)
(kombu.pools.ProducerPool.Producer method)
decode() (in module kombu.serialization)
(kombu.transport.base.Message method)
(kombu.transport.virtual.Message method)
decompress() (in module kombu.compression)
default_connection_params (kombu.transport.amqplib.Transport attribute)
default_encode() (in module kombu.utils.encoding)
default_encoding() (in module kombu.utils.encoding)
default_port (kombu.transport.amqplib.Transport attribute)
(kombu.transport.base.Transport attribute)
(kombu.transport.django.Transport attribute)
(kombu.transport.redis.Transport attribute)
(kombu.transport.virtual.Transport attribute)
DEFAULT_TRANSPORT (in module kombu.transport)
delete() (kombu.entity.Exchange method)
(kombu.entity.Queue method)
deliver() (kombu.transport.virtual.exchange.DirectExchange method)
(kombu.transport.virtual.exchange.FanoutExchange method)
(kombu.transport.virtual.exchange.TopicExchange method)
delivery_info (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
delivery_mode (kombu.entity.Exchange attribute), [1]
delivery_tag (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
detect_environment() (in module kombu.syn)
DirectExchange (class in kombu.transport.virtual.exchange)
discard_all() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
dispatch() (kombu.pidbox.Node method)
dispatch_from_message() (kombu.pidbox.Node method)
dispatch_method() (kombu.transport.amqplib.Connection method)
do_restore (kombu.transport.memory.Channel attribute)
(kombu.transport.memory.Transport.Channel attribute)
(kombu.transport.virtual.Channel attribute)
drain_events() (kombu.connection.BrokerConnection method)
(kombu.transport.amqplib.Connection method)
(kombu.transport.amqplib.Transport method)
(kombu.transport.amqplib.Transport.Connection method)
(kombu.transport.base.Transport method)
(kombu.transport.virtual.Channel method)
(kombu.transport.virtual.Transport method)
durable (kombu.compat.Consumer attribute)
(kombu.compat.Publisher attribute)
(kombu.entity.Exchange attribute), [1]
(kombu.entity.Queue attribute), [1]

E

emergency_dump_state() (in module kombu.utils)
encode() (in module kombu.serialization), [1]
encoders() (in module kombu.compression)
ensure() (kombu.connection.BrokerConnection method)
ensure_bytes() (in module kombu.utils.encoding)
ensure_connection() (kombu.connection.BrokerConnection method)
entry_to_queue() (in module kombu.common)
environment variable
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
KOMBU_LOG_CHANNEL
KOMBU_LOG_CONNECTION, [1]
KOMBU_LOG_DEBUG, [1], [2]
EqualityDict (class in kombu.utils)
equivalent() (kombu.transport.virtual.exchange.ExchangeType method)
error() (kombu.log.LogMixin method)
establish_connection() (kombu.mixins.ConsumerMixin method)
(kombu.transport.amqplib.Transport method)
(kombu.transport.base.Transport method)
(kombu.transport.virtual.Transport method)
evaluate() (kombu.utils.functional.promise method)
eventmap() (kombu.transport.amqplib.Transport method)
events (kombu.transport.amqplib.Channel attribute)
Exchange (class in kombu.entity)
exchange (kombu.compat.Consumer attribute)
(kombu.compat.Publisher attribute)
(kombu.entity.Queue attribute), [1]
(kombu.messaging.Producer attribute)
(kombu.pidbox.Mailbox attribute)
(kombu.pools.ProducerPool.Producer attribute)
exchange_declare() (kombu.transport.virtual.Channel method)
exchange_delete() (kombu.transport.virtual.Channel method)
exchange_opts (kombu.simple.SimpleBuffer attribute)
(kombu.simple.SimpleQueue attribute)
exchange_type (kombu.compat.Consumer attribute)
(kombu.compat.Publisher attribute)
exchange_types (kombu.transport.virtual.Channel attribute)
exchanges (kombu.transport.virtual.BrokerState attribute)
ExchangeType (class in kombu.transport.virtual.exchange)
exclusive (kombu.compat.Consumer attribute)
(kombu.entity.Queue attribute), [1]
expected_time() (kombu.utils.limits.TokenBucket method)
extra_context() (kombu.mixins.ConsumerMixin method)

F

FairCycle (class in kombu.transport.virtual.scheduling)
FanoutExchange (class in kombu.transport.virtual.exchange)
fetch() (kombu.compat.Consumer method)
(kombu.transport.django.managers.QueueManager method)
fill_rate (kombu.utils.limits.TokenBucket attribute)
Finalize (class in kombu.utils.finalize)
flow() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.messaging.Consumer method)
(kombu.transport.virtual.Channel method)
forward() (kombu.clocks.LamportClock method)
from_transport_options (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Transport.Channel attribute)
from_utf8() (in module kombu.utils.encoding)
fromkeys() (kombu.utils.compat.CompatOrderedDict class method)
fxrange() (in module kombu.utils)
fxrangemax() (in module kombu.utils)

G

get() (kombu.entity.Queue method)
(kombu.simple.SimpleBuffer method)
(kombu.simple.SimpleQueue method)
(kombu.transport.virtual.QoS method)
(kombu.transport.virtual.scheduling.FairCycle method)
get_consumers() (kombu.mixins.ConsumerMixin method)
get_decoder() (in module kombu.compression)
get_encoder() (in module kombu.compression)
get_limit() (in module kombu.pools)
get_logger() (kombu.log.LogMixin method)
get_loglevel() (in module kombu.log)
(kombu.log.LogMixin method)
get_manager() (kombu.transport.amqplib.Transport method)
get_nowait() (kombu.simple.SimpleBuffer method)
(kombu.simple.SimpleQueue method)
get_queue() (kombu.pidbox.Mailbox method)
get_reply_queue() (kombu.pidbox.Mailbox method)
get_table() (kombu.transport.redis.Channel method)
(kombu.transport.redis.Transport.Channel method)
(kombu.transport.virtual.Channel method)
get_transport_cls() (in module kombu.transport)
(kombu.connection.BrokerConnection method)

H

handle() (kombu.pidbox.Node method)
handle_call() (kombu.pidbox.Node method)
handle_cast() (kombu.pidbox.Node method)
handle_event() (kombu.transport.redis.Transport method)
handle_message() (kombu.pidbox.Node method)
handler() (kombu.pidbox.Node method)
handlers (kombu.pidbox.Node attribute)
headers (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
host (kombu.connection.BrokerConnection attribute)
hostname (kombu.pidbox.Node attribute)

I

info() (kombu.connection.BrokerConnection method)
(kombu.log.LogMixin method)
insured() (in module kombu.common)
ipublish() (in module kombu.common)
is_alive() (kombu.transport.amqplib.Transport method)
is_bound (kombu.abstract.MaybeChannelBound attribute)
is_enabled_for() (kombu.log.LogMixin method)
isend_reply() (in module kombu.common)
items() (kombu.utils.compat.CompatOrderedDict method)
iterconsume() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
iteritems() (kombu.utils.compat.CompatOrderedDict method)
iterkeys() (kombu.utils.compat.CompatOrderedDict method)
itermessages() (in module kombu.common)
iterqueue() (kombu.compat.Consumer method)
itervalues() (kombu.utils.compat.CompatOrderedDict method)

K

key_to_pattern() (kombu.transport.virtual.exchange.TopicExchange method)
keyprefix_queue (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Transport.Channel attribute)
keys() (kombu.utils.compat.CompatOrderedDict method)
kombu.abstract (module)
kombu.clocks (module)
kombu.common (module)
kombu.compat (module)
kombu.compression (module)
kombu.connection (module)
kombu.entity (module)
kombu.exceptions (module)
kombu.log (module)
kombu.messaging (module), [1], [2]
kombu.mixins (module)
kombu.pidbox (module)
kombu.pools (module)
kombu.serialization (module)
kombu.simple (module)
kombu.syn (module)
kombu.transport (module)
kombu.transport.amqplib (module)
kombu.transport.base (module)
kombu.transport.django (module)
kombu.transport.django.management.commands.clean_kombu_messages (module)
kombu.transport.django.managers (module)
kombu.transport.django.models (module)
kombu.transport.memory (module)
kombu.transport.redis (module)
kombu.transport.virtual (module)
kombu.transport.virtual.exchange (module)
kombu.transport.virtual.scheduling (module)
kombu.utils (module)
kombu.utils.compat (module)
kombu.utils.debug (module)
kombu.utils.encoding (module)
kombu.utils.finalize (module)
kombu.utils.functional (module)
kombu.utils.limits (module)
kombu.utils.url (module)
KOMBU_LOG_CHANNEL
KOMBU_LOG_CONNECTION, [1]
KOMBU_LOG_DEBUG, [1], [2]
kwdict() (in module kombu.utils)

L

LamportClock (class in kombu.clocks)
LifoQueue (class in kombu.utils.compat)
LimitExceeded
(kombu.connection.ChannelPool attribute)
(kombu.connection.ConnectionPool attribute)
listen() (kombu.pidbox.Node method)
log() (kombu.log.LogMixin method)
logger (kombu.log.LogMixin attribute)
logger_name (kombu.log.LogMixin attribute)
LogMixin (class in kombu.log)
Logwrapped (class in kombu.utils.debug)
lookup() (kombu.transport.virtual.exchange.DirectExchange method)
(kombu.transport.virtual.exchange.ExchangeType method)
(kombu.transport.virtual.exchange.FanoutExchange method)
(kombu.transport.virtual.exchange.TopicExchange method)

M

Mailbox (class in kombu.pidbox)
mailbox (kombu.pidbox.Node attribute)
maybe_bind() (kombu.abstract.MaybeChannelBound method)
(kombu.entity.Exchange method)
(kombu.entity.Queue method)
maybe_conn_error() (kombu.mixins.ConsumerMixin method)
maybe_declare() (in module kombu.common)
(kombu.compat.Publisher method)
(kombu.pools.ProducerPool.Producer method)
maybe_list() (in module kombu.utils)
maybe_promise() (in module kombu.utils.functional)
MaybeChannelBound (class in kombu.abstract)
Message (class in kombu.transport.amqplib)
(class in kombu.transport.base)
(class in kombu.transport.django.models)
(class in kombu.transport.virtual)
(kombu.transport.virtual.Channel attribute)
message (kombu.transport.virtual.Message.MessageStateError attribute)
Message() (kombu.entity.Exchange method)
Message.DoesNotExist
Message.MessageStateError
Message.MultipleObjectsReturned
message_to_python() (kombu.transport.amqplib.Channel method)
(kombu.transport.virtual.Channel method)
MessageManager (class in kombu.transport.django.managers)
messages (kombu.transport.django.models.Queue attribute)
MessageStateError
multi_call() (kombu.pidbox.Mailbox method)

N

name (kombu.entity.Exchange attribute), [1]
(kombu.entity.Queue attribute), [1]
namespace (kombu.pidbox.Mailbox attribute)
nb_keep_draining (kombu.transport.amqplib.Transport attribute)
nested() (in module kombu.utils)
new() (kombu.pools.ProducerPool method)
no_ack (kombu.compat.Consumer attribute)
(kombu.compat.ConsumerSet attribute)
(kombu.entity.Queue attribute)
(kombu.messaging.Consumer attribute)
(kombu.simple.SimpleBuffer attribute)
(kombu.simple.SimpleQueue attribute)
Node (class in kombu.pidbox)
Node() (kombu.pidbox.Mailbox method)
NotBoundError

O

objects (kombu.transport.django.models.Message attribute)
(kombu.transport.django.models.Queue attribute)
on_connection_error() (kombu.mixins.ConsumerMixin method)
on_connection_revived() (kombu.mixins.ConsumerMixin method)
on_consume_end() (kombu.mixins.ConsumerMixin method)
on_consume_ready() (kombu.mixins.ConsumerMixin method)
on_decode_error (kombu.compat.Consumer attribute)
(kombu.compat.ConsumerSet attribute)
(kombu.messaging.Consumer attribute)
on_decode_error() (kombu.mixins.ConsumerMixin method)
on_iteration() (kombu.mixins.ConsumerMixin method)
on_poll_init() (kombu.transport.amqplib.Transport method)
(kombu.transport.redis.Transport method)
on_poll_start() (kombu.transport.amqplib.Transport method)
(kombu.transport.redis.Transport method)
on_return (kombu.compat.Publisher attribute)
(kombu.messaging.Producer attribute)
(kombu.pools.ProducerPool.Producer attribute)

P

parse_url() (in module kombu.utils.url)
payload (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
PERSISTENT_DELIVERY_MODE (kombu.entity.Exchange attribute)
pipeline() (kombu.transport.redis.Channel method)
(kombu.transport.redis.Transport.Channel method)
polling_interval (kombu.transport.django.Transport attribute)
(kombu.transport.redis.Transport attribute)
(kombu.transport.virtual.Transport attribute)
Pool() (kombu.connection.BrokerConnection method)
PoolGroup (class in kombu.pools)
pop() (kombu.transport.django.managers.MessageManager method)
(kombu.utils.compat.CompatOrderedDict method)
popitem() (kombu.utils.compat.CompatOrderedDict method)
prefetch_count (kombu.transport.virtual.QoS attribute)
prepare() (kombu.pools.ProducerPool method)
prepare_bind() (kombu.transport.virtual.exchange.ExchangeType method)
(kombu.transport.virtual.exchange.TopicExchange method)
prepare_message() (kombu.transport.amqplib.Channel method)
(kombu.transport.virtual.Channel method)
priority() (kombu.transport.redis.Channel method)
(kombu.transport.redis.Transport.Channel method)
priority_steps (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Transport.Channel attribute)
process_next() (kombu.compat.Consumer method)
Producer (class in kombu.messaging)
producer (kombu.simple.SimpleBuffer attribute)
(kombu.simple.SimpleQueue attribute)
ProducerPool (class in kombu.pools)
ProducerPool.Producer (class in kombu.pools)
promise (class in kombu.utils.functional)
properties (kombu.transport.base.Message attribute)
(kombu.transport.virtual.Message attribute)
publish() (kombu.compat.Publisher method)
(kombu.entity.Exchange method)
(kombu.messaging.Producer method)
(kombu.pools.ProducerPool.Producer method)
(kombu.transport.django.managers.QueueManager method)
Publisher (class in kombu.compat)
purge() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.entity.Queue method)
(kombu.messaging.Consumer method)
(kombu.transport.django.managers.QueueManager method)
put() (kombu.simple.SimpleBuffer method)
(kombu.simple.SimpleQueue method)

Q

QoS (class in kombu.transport.virtual)
qos (kombu.transport.virtual.Channel attribute)
qos() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.messaging.Consumer method)
qsize() (kombu.simple.SimpleBuffer method)
(kombu.simple.SimpleQueue method)
Queue (class in kombu.entity)
(class in kombu.transport.django.models)
queue (kombu.compat.Consumer attribute)
(kombu.simple.SimpleBuffer attribute)
(kombu.simple.SimpleQueue attribute)
(kombu.transport.django.models.Message attribute)
Queue.DoesNotExist
Queue.MultipleObjectsReturned
queue_arguments (kombu.entity.Queue attribute)
queue_bind() (kombu.entity.Queue method)
(kombu.transport.virtual.Channel method)
queue_declare() (kombu.entity.Queue method)
(kombu.transport.virtual.Channel method)
queue_delete() (kombu.transport.virtual.Channel method)
queue_opts (kombu.simple.SimpleBuffer attribute)
(kombu.simple.SimpleQueue attribute)
queue_purge() (kombu.transport.virtual.Channel method)
QueueManager (class in kombu.transport.django.managers)
queues (kombu.compat.Consumer attribute)
(kombu.compat.ConsumerSet attribute)
(kombu.messaging.Consumer attribute)
(kombu.transport.memory.Channel attribute)
(kombu.transport.memory.Transport.Channel attribute)

R

raw_encode() (in module kombu.serialization)
read_timeout() (kombu.transport.amqplib.Connection method)
(kombu.transport.amqplib.Transport.Connection method)
receive() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.messaging.Consumer method)
recover() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.messaging.Consumer method)
refresh_connection() (kombu.transport.django.Channel method)
(kombu.transport.django.Transport.Channel method)
register() (in module kombu.compression)
(in module kombu.serialization)
register_callback() (kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.messaging.Consumer method)
register_group() (in module kombu.pools)
registry (in module kombu.serialization)
reject() (kombu.transport.base.Message method)
(kombu.transport.redis.Channel.QoS method)
(kombu.transport.redis.Transport.Channel.QoS method)
(kombu.transport.virtual.Message method)
(kombu.transport.virtual.QoS method)
reject_log_error() (kombu.transport.virtual.Message method)
release() (kombu.compat.Publisher method)
(kombu.connection.BrokerConnection method)
(kombu.connection.ChannelPool method)
(kombu.connection.ConnectionPool method)
(kombu.pools.ProducerPool method)
(kombu.pools.ProducerPool.Producer method)
reply() (kombu.pidbox.Node method)
reply_exchange (kombu.pidbox.Mailbox attribute)
reprcall() (in module kombu.utils)
reprkwargs() (in module kombu.utils)
requeue() (kombu.transport.base.Message method)
(kombu.transport.virtual.Message method)
reset() (in module kombu.pools)
resolve_transport() (in module kombu.transport)
restart_limit (kombu.mixins.ConsumerMixin attribute)
restore_at_shutdown (kombu.transport.redis.Channel.QoS attribute)
(kombu.transport.redis.Transport.Channel.QoS attribute)
(kombu.transport.virtual.QoS attribute)
restore_by_tag() (kombu.transport.redis.Channel.QoS method)
(kombu.transport.redis.Transport.Channel.QoS method)
restore_unacked() (kombu.transport.redis.Channel.QoS method)
(kombu.transport.redis.Transport.Channel.QoS method)
(kombu.transport.virtual.QoS method)
restore_unacked_once() (kombu.transport.virtual.QoS method)
restore_visible() (kombu.transport.redis.Channel.QoS method)
(kombu.transport.redis.Transport.Channel.QoS method)
retry_over_time() (in module kombu.utils)
revive() (kombu.abstract.MaybeChannelBound method)
(kombu.compat.Consumer method)
(kombu.compat.ConsumerSet method)
(kombu.compat.Publisher method)
(kombu.messaging.Consumer method)
(kombu.messaging.Producer method)
(kombu.pools.ProducerPool.Producer method)
routing_key (kombu.compat.Consumer attribute)
(kombu.compat.Publisher attribute)
(kombu.entity.Queue attribute), [1]
(kombu.messaging.Producer attribute)
(kombu.pools.ProducerPool.Producer attribute)
run() (kombu.mixins.ConsumerMixin method)

S

safe_repr() (in module kombu.utils.encoding)
safe_str() (in module kombu.utils.encoding)
say() (in module kombu.utils)
select_for_update() (in module kombu.transport.django.managers)
send() (kombu.compat.Publisher method)
send_reply() (in module kombu.common)
sep (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Transport.Channel attribute)
serializable() (kombu.transport.virtual.Message method)
serializer (kombu.compat.Publisher attribute)
(kombu.messaging.Producer attribute)
(kombu.pools.ProducerPool.Producer attribute)
SerializerNotInstalled
set_limit() (in module kombu.pools)
setdefault() (kombu.utils.compat.CompatOrderedDict method)
setup() (kombu.pools.ProducerPool method)
setup_logging() (in module kombu.log)
(in module kombu.utils.debug)
should_stop (kombu.mixins.ConsumerMixin attribute)
SimpleBuffer (class in kombu.simple)
SimpleBuffer() (kombu.connection.BrokerConnection method)
SimpleQueue (class in kombu.simple)
SimpleQueue() (kombu.connection.BrokerConnection method)
size() (kombu.transport.django.managers.QueueManager method)
state (kombu.pidbox.Node attribute)
(kombu.transport.memory.Transport attribute)
(kombu.transport.virtual.Channel attribute)
(kombu.transport.virtual.Transport attribute)
still_active() (kombu.utils.finalize.Finalize method)
str_to_bytes() (in module kombu.utils.encoding)
subclient (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Transport.Channel attribute)
supports_fanout (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Transport.Channel attribute)

T

TimeoutError (in module kombu.exceptions)
timestamp (kombu.utils.limits.TokenBucket attribute)
TokenBucket (class in kombu.utils.limits)
TopicExchange (class in kombu.transport.virtual.exchange)
TRANSIENT_DELIVERY_MODE (kombu.entity.Exchange attribute)
Transport (class in kombu.transport.amqplib)
(class in kombu.transport.base)
(class in kombu.transport.django)
(class in kombu.transport.memory)
(class in kombu.transport.redis)
(class in kombu.transport.virtual)
transport (kombu.connection.BrokerConnection attribute)
Transport.Channel (class in kombu.transport.django)
(class in kombu.transport.memory)
(class in kombu.transport.redis)
Transport.Channel.QoS (class in kombu.transport.redis)
Transport.Connection (class in kombu.transport.amqplib)
TRANSPORT_ALIASES (in module kombu.transport)
type (kombu.entity.Exchange attribute), [1]
(kombu.pidbox.Mailbox attribute)
(kombu.transport.virtual.exchange.DirectExchange attribute)
(kombu.transport.virtual.exchange.ExchangeType attribute)
(kombu.transport.virtual.exchange.FanoutExchange attribute)
(kombu.transport.virtual.exchange.TopicExchange attribute)
typeof() (kombu.transport.virtual.Channel method)

U

unacked_index_key (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Channel.QoS attribute)
(kombu.transport.redis.Transport.Channel attribute)
(kombu.transport.redis.Transport.Channel.QoS attribute)
unacked_key (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Channel.QoS attribute)
(kombu.transport.redis.Transport.Channel attribute)
(kombu.transport.redis.Transport.Channel.QoS attribute)
unbind() (kombu.entity.Queue method)
update() (kombu.utils.compat.CompatOrderedDict method)
uuid() (in module kombu.common)
(in module kombu.utils)

V

value (kombu.clocks.LamportClock attribute)
values() (kombu.utils.compat.CompatOrderedDict method)
verify_connection() (kombu.transport.amqplib.Transport method)
visibility_timeout (kombu.transport.redis.Channel attribute)
(kombu.transport.redis.Channel.QoS attribute)
(kombu.transport.redis.Transport.Channel attribute)
(kombu.transport.redis.Transport.Channel.QoS attribute)

W

wait() (kombu.compat.Consumer method)
(kombu.transport.amqplib.Connection method)
warn() (kombu.log.LogMixin method)
when_bound() (kombu.abstract.MaybeChannelBound method)
(kombu.entity.Queue method)
wildcards (kombu.transport.virtual.exchange.TopicExchange attribute)



PK=@ @kombu-1.0/.buildinfo# Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. config: d4d042b1f9502fb59dbacd3d182307e0 tags: fbb0d17656682115ca4d033fb2f83ba1 PK=@"yHzHzkombu-1.0/introduction.html kombu - Messaging Framework for Python — Kombu 2.2.0rc2 documentation

kombu - Messaging Framework for Python

Version:2.2.0rc2

Synopsis

Kombu is an AMQP messaging framework for Python.

AMQP is the Advanced Message Queuing Protocol, an open standard protocol for message orientation, queuing, routing, reliability and security.

One of the most popular implementations of AMQP is RabbitMQ.

The aim of Kombu is to make messaging in Python as easy as possible by providing an idiomatic high-level interface for the AMQP protocol, and also provide proven and tested solutions to common messaging problems.

Features

  • Allows application authors to support several message server solutions by using pluggable transports.

  • Supports automatic encoding, serialization and compression of message payloads.

  • Consistent exception handling across transports.

  • The ability to ensure that an operation is performed by gracefully handling connection and channel errors.

  • Several annoyances with amqplib has been fixed, like supporting timeouts and the ability to wait for events on more than one channel.

  • Projects already using carrot can easily be ported by using a compatibility layer.

For an introduction to AMQP you should read the article Rabbits and warrens, and the Wikipedia article about AMQP.

Transport Comparison

Client Type Direct Topic Fanout
amqplib Native Yes Yes Yes
pika Native Yes Yes Yes
redis Virtual Yes Yes Yes (PUB/SUB)
mongodb Virtual Yes Yes Yes
beanstalk Virtual Yes Yes [1] No
SQS Virtual Yes Yes [1] Yes [2]
couchdb Virtual Yes Yes [1] No
in-memory Virtual Yes Yes [1] No
django Virtual Yes Yes [1] No
sqlalchemy Virtual Yes Yes [1] No
[1](1, 2, 3, 4, 5, 6) Declarations only kept in memory, so exchanges/queues must be declared by all clients that needs them.
[2]Fanout supported via storing routing tables in SimpleDB. Disabled by default, but can be enabled by using the supports_fanout transport option.

Documentation

Kombu is using Sphinx, and the latest documentation is available at GitHub:

Quick overview

from kombu import BrokerConnection, Exchange, Queue

media_exchange = Exchange("media", "direct", durable=True)
video_queue = Queue("video", exchange=media_exchange, routing_key="video")

def process_media(body, message):
    print body
    message.ack()

# connections
with BrokerConnection("amqp://guest:guest@localhost//") as conn:

    # Declare the video queue so that the messages can be delivered.
    # It is a best practice in Kombu to have both publishers and
    # consumers declare the queue.
    video_queue(conn.channel()).declare()

    # produce
    with conn.Producer(exchange=media_exchange,
                       serializer="json", routing_key="video") as producer:
        producer.publish({"name": "/tmp/lolcat1.avi", "size": 1301013})

    # consume
    with conn.Consumer(video_queue, callbacks=[process_media]) as consumer:
        # Process messages and handle events on all channels
        while True:
            conn.drain_events()

# Consume from several queues on the same channel:
video_queue = Queue("video", exchange=media_exchange, key="video")
image_queue = Queue("image", exchange=media_exchange, key="image")

with connection.Consumer([video_queue, image_queue],
                         callbacks=[process_media]) as consumer:
    while True:
        connection.drain_events()

Or handle channels manually:

with connection.channel() as channel:
    producer = Producer(channel, ...)
    consumer = Producer(channel)

All objects can be used outside of with statements too, just remember to close the objects after use:

from kombu import BrokerConnection, Consumer, Producer

connection = BrokerConnection()
    # ...
connection.close()

consumer = Consumer(channel_or_connection, ...)
consumer.register_callback(my_callback)
consumer.consume()
    # ....
consumer.cancel()


producer = Producer(channel_or_connection, ...)
    # ....
producer.close()

Exchange and Queue are simply declarations that can be pickled and used in configuration files etc.

They also support operations, but to do so they need to be bound to a channel:

>>> exchange = Exchange("tasks", "direct")

>>> connection = BrokerConnection()
>>> channel = connection.channel()
>>> bound_exchange = exchange(channel)
>>> bound_exchange.delete()

# the original exchange is not affected, and stays unbound.
>>> exchange.delete()
raise NotBoundError: Can't call delete on Exchange not bound to
    a channel.

Installation

You can install Kombu either via the Python Package Index (PyPI) or from source.

To install using pip,:

$ pip install kombu

To install using easy_install,:

$ easy_install kombu

If you have downloaded a source tarball you can install it by doing the following,:

$ python setup.py build
# python setup.py install # as root

Terminology

There are some concepts you should be familiar with before starting:

  • Producers

    Producers sends messages to an exchange.

  • Exchanges

    Messages are sent to exchanges. Exchanges are named and can be configured to use one of several routing algorithms. The exchange routes the messages to consumers by matching the routing key in the message with the routing key the consumer provides when binding to the exchange.

  • Consumers

    Consumers declares a queue, binds it to a exchange and receives messages from it.

  • Queues

    Queues receive messages sent to exchanges. The queues are declared by consumers.

  • Routing keys

    Every message has a routing key. The interpretation of the routing key depends on the exchange type. There are four default exchange types defined by the AMQP standard, and vendors can define custom types (so see your vendors manual for details).

    These are the default exchange types defined by AMQP/0.8:

    • Direct exchange

      Matches if the routing key property of the message and the routing_key attribute of the consumer are identical.

    • Fan-out exchange

      Always matches, even if the binding does not have a routing key.

    • Topic exchange

      Matches the routing key property of the message by a primitive pattern matching scheme. The message routing key then consists of words separated by dots (”.”, like domain names), and two special characters are available; star (“*”) and hash (“#”). The star matches any word, and the hash matches zero or more words. For example “*.stock.#” matches the routing keys “usd.stock” and “eur.stock.db” but not “stock.nasdaq”.

Getting Help

Mailing list

Join the carrot-users mailing list.

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to our issue tracker at http://github.com/ask/kombu/issues/

Contributing

Development of Kombu happens at Github: http://github.com/ask/kombu

You are highly encouraged to participate in the development. If you don’t like Github (for some reason) you’re welcome to send regular patches.

License

This software is licensed under the New BSD License. See the LICENSE file in the top distribution directory for the full license text.




PK=@s++-kombu-1.0/reference/kombu.utils.finalize.html Finalize - kombu.utils.finalize — Kombu 2.2.0rc2 documentation

Finalize - kombu.utils.finalize

kombu.utils.finalize

Execute cleanup handlers when objects go out of scope.

Taken from multiprocessing.util.Finalize.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.utils.finalize.Finalize(obj, callback, args=(), kwargs=None, exitpriority=None)

Object finalization using weakrefs.

cancel()

Cancel finalization of the object.

still_active()

Table Of Contents

Previous topic

kombu.utils.functional

Next topic

kombu.utils.url

This Page




PK=@] X X$kombu-1.0/reference/kombu.pools.html General Pools - kombu.pools — Kombu 2.2.0rc2 documentation

General Pools - kombu.pools

kombu.pools

Public resource pools.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.pools.ProducerPool(connections, *args, **kwargs)
class Producer(channel, exchange=None, routing_key=None, serializer=None, auto_declare=None, compression=None, on_return=None)

Message Producer.

Parameters:
  • channel – Connection or channel.
  • exchange – Optional default exchange.
  • routing_key – Optional default routing key.
  • serializer – Default serializer. Default is “json”.
  • compression – Default compression method. Default is no compression.
  • auto_declare – Automatically declare the default exchange at instantiation. Default is True.
  • on_return – Callback to call for undeliverable messages, when the mandatory or immediate arguments to publish() is used. This callback needs the following signature: (exception, exchange, routing_key, message). Note that the producer needs to drain events to use this feature.
auto_declare = True
channel = None
close()
compression = None
connection
declare()

Declare the exchange.

This happens automatically at instantiation if auto_declare is enabled.

exchange = None
maybe_declare(entity, retry=False, **retry_policy)

Declare the exchange if it hasn’t already been declared during this session.

on_return = None
publish(body, routing_key=None, delivery_mode=None, mandatory=False, immediate=False, priority=0, content_type=None, content_encoding=None, serializer=None, headers=None, compression=None, exchange=None, retry=False, retry_policy=None, declare=[], **properties)

Publish message to the specified exchange.

Parameters:
  • body – Message body.
  • routing_key – Message routing key.
  • delivery_mode – See delivery_mode.
  • mandatory – Currently not supported.
  • immediate – Currently not supported.
  • priority – Message priority. A number between 0 and 9.
  • content_type – Content type. Default is auto-detect.
  • content_encoding – Content encoding. Default is auto-detect.
  • serializer – Serializer to use. Default is auto-detect.
  • compression – Compression method to use. Default is none.
  • headers – Mapping of arbitrary headers to pass along with the message body.
  • exchange – Override the exchange. Note that this exchange must have been declared.
  • declare – Optional list of required entities that must have been declared before publishing the message. The entities will be declared using maybe_declare().
  • retry – Retry publishing, or declaring entities if the connection is lost.
  • retry_policy – Retry configuration, this is the keywords supported by ensure().
  • **properties – Additional message properties, see AMQP spec.
release()
revive(channel)

Revive the producer after connection loss.

routing_key = ''
serializer = None
ProducerPool.create_producer()
ProducerPool.new()
ProducerPool.prepare(p)
ProducerPool.release(resource)
ProducerPool.setup()
class kombu.pools.PoolGroup(limit=None)
create(resource, limit)
kombu.pools.register_group(group)
kombu.pools.get_limit()
kombu.pools.set_limit(limit, force=False, reset_after=False)
kombu.pools.reset(*args, **kwargs)

Table Of Contents

Previous topic

kombu.compression

Next topic

kombu.compression

This Page




PK=@Qz!z!0kombu-1.0/reference/kombu.transport.mongodb.html <no title> — Kombu 2.2.0rc2 documentation

Previous topic

<no title>

Next topic

<no title>

This Page




PK=@S|22+kombu-1.0/reference/kombu.utils.limits.html Rate limiting - kombu.utils.limits — Kombu 2.2.0rc2 documentation

Rate limiting - kombu.utils.limits

kombu.utils.limits

Token bucket implementation for rate limiting.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.utils.limits.TokenBucket(fill_rate, capacity=1)

Token Bucket Algorithm.

See http://en.wikipedia.org/wiki/Token_Bucket Most of this code was stolen from an entry in the ASPN Python Cookbook: http://code.activestate.com/recipes/511490/

Thread safety

This implementation may not be thread safe.

can_consume(tokens=1)

Returns True if tokens number of tokens can be consumed from the bucket.

capacity = 1

Maximum number of tokensin the bucket.

expected_time(tokens=1)

Returns the expected time in seconds when a new token should be available.

Warning

This consumes a token from the bucket.

fill_rate = None

The rate in tokens/second that the bucket will be refilled

timestamp = None

Timestamp of the last time a token was taken out of the bucket.

Table Of Contents

Previous topic

Utilities - kombu.utils

Next topic

Compat. utilities - kombu.utils.compat

This Page




PK=@gj,,)kombu-1.0/reference/kombu.exceptions.html kombu.exceptions — Kombu 2.2.0rc2 documentation

kombu.exceptions

Exceptions.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

exception kombu.exceptions.NotBoundError

Trying to call channel dependent method on unbound entity.

exception kombu.exceptions.MessageStateError

The message has already been acknowledged.

kombu.exceptions.TimeoutError

alias of timeout

exception kombu.exceptions.LimitExceeded

Limit exceeded.

exception kombu.exceptions.ConnectionLimitExceeded

Maximum number of simultaneous connections exceeded.

exception kombu.exceptions.ChannelLimitExceeded

Maximum number of simultaneous channels exceeded.

Previous topic

kombu.pidbox

Next topic

Logging - kombu.log

This Page




PK=@w+55/kombu-1.0/reference/kombu.transport.django.html kombu.transport.django — Kombu 2.2.0rc2 documentation

kombu.transport.django

Kombu transport using the Django database as a message store.

Transport

class kombu.transport.django.Transport(client, **kwargs)
class Channel(connection, **kwargs)
basic_consume(queue, *args, **kwargs)
refresh_connection()
Transport.channel_errors = (<class 'kombu.exceptions.StdChannelError'>, <class 'django.core.exceptions.ObjectDoesNotExist'>, <class 'django.core.exceptions.MultipleObjectsReturned'>)
Transport.connection_errors = ()
Transport.default_port = 0
Transport.polling_interval = 5.0

Channel

class kombu.transport.django.Channel(connection, **kwargs)
basic_consume(queue, *args, **kwargs)
refresh_connection()

Table Of Contents

Previous topic

<no title>

Next topic

Django Models - kombu.transport.django.models

This Page




PK=@Cm/{{%kombu-1.0/reference/kombu.entity.html kombu.entity — Kombu 2.2.0rc2 documentation

kombu.entity

Exchange and Queue declarations.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Exchange

Example creating an exchange declaration:

>>> news_exchange = Exchange("news", type="topic")

For now news_exchange is just a declaration, you can’t perform actions on it. It just describes the name and options for the exchange.

The exchange can be bound or unbound. Bound means the exchange is associated with a channel and operations can be performed on it. To bind the exchange you call the exchange with the channel as argument:

>>> bound_exchange = news_exchange(channel)

Now you can perform operations like declare() or delete():

>>> bound_exchange.declare()
>>> message = bound_exchange.Message("Cure for cancer found!")
>>> bound_exchange.publish(message, routing_key="news.science")
>>> bound_exchange.delete()
class kombu.entity.Exchange(name='', type='', channel=None, **kwargs)

An Exchange declaration.

Parameters:
name

Name of the exchange. Default is no name (the default exchange).

type

AMQP defines four default exchange types (routing algorithms) that covers most of the common messaging use cases. An AMQP broker can also define additional exchange types, so see your broker manual for more information about available exchange types.

  • direct (default)

    Direct match between the routing key in the message, and the routing criteria used when a queue is bound to this exchange.

  • topic

    Wildcard match between the routing key and the routing pattern specified in the exchange/queue binding. The routing key is treated as zero or more words delimited by ”.” and supports special wildcard characters. “*” matches a single word and “#” matches zero or more words.

  • fanout

    Queues are bound to this exchange with no arguments. Hence any message sent to this exchange will be forwarded to all queues bound to this exchange.

  • headers

    Queues are bound to this exchange with a table of arguments containing headers and values (optional). A special argument named “x-match” determines the matching algorithm, where “all” implies an AND (all pairs must match) and “any” implies OR (at least one pair must match).

    arguments is used to specify the arguments.

This description of AMQP exchange types was shamelessly stolen from the blog post AMQP in 10 minutes: Part 4 by Rajith Attapattu. This article is recommended reading.

channel

The channel the exchange is bound to (if bound).

durable

Durable exchanges remain active when a server restarts. Non-durable exchanges (transient exchanges) are purged when a server restarts. Default is True.

auto_delete

If set, the exchange is deleted when all queues have finished using it. Default is False.

delivery_mode

The default delivery mode used for messages. The value is an integer, or alias string.

  • 1 or “transient”

    The message is transient. Which means it is stored in memory only, and is lost if the server dies or restarts.

  • 2 or “persistent” (default)

    The message is persistent. Which means the message is stored both in-memory, and on disk, and therefore preserved if the server dies or restarts.

The default value is 2 (persistent).

arguments

Additional arguments to specify when the exchange is declared.

maybe_bind(channel)

Bind instance to channel if not already bound.

Message(body, delivery_mode=None, priority=None, content_type=None, content_encoding=None, properties=None, headers=None)

Create message instance to be sent with publish().

Parameters:
  • body – Message body.
  • delivery_mode – Set custom delivery mode. Defaults to delivery_mode.
  • priority – Message priority, 0 to 9. (currently not supported by RabbitMQ).
  • content_type – The messages content_type. If content_type is set, no serialization occurs as it is assumed this is either a binary object, or you’ve done your own serialization. Leave blank if using built-in serialization as our library properly sets content_type.
  • content_encoding – The character set in which this object is encoded. Use “binary” if sending in raw binary objects. Leave blank if using built-in serialization as our library properly sets content_encoding.
  • properties – Message properties.
  • headers – Message headers.
PERSISTENT_DELIVERY_MODE = 2
TRANSIENT_DELIVERY_MODE = 1
attrs = (('name', None), ('type', None), ('arguments', None), ('durable', <type 'bool'>), ('auto_delete', <type 'bool'>), ('delivery_mode', <function <lambda> at 0x3012c08>))
auto_delete = False
can_cache_declaration
declare(nowait=False)

Declare the exchange.

Creates the exchange on the broker.

Parameters:nowait – If set the server will not respond, and a response will not be waited for. Default is False.
delete(if_unused=False, nowait=False)

Delete the exchange declaration on server.

Parameters:
  • if_unused – Delete only if the exchange has no bindings. Default is False.
  • nowait – If set the server will not respond, and a response will not be waited for. Default is False.
delivery_mode = 2
durable = True
name = ''
publish(message, routing_key=None, mandatory=False, immediate=False, exchange=None)

Publish message.

Parameters:
  • messageMessage() instance to publish.
  • routing_key – Routing key.
  • mandatory – Currently not supported.
  • immediate – Currently not supported.
type = 'direct'

Queue

Example creating a queue using our exchange in the Exchange example:

>>> science_news = Queue("science_news",
...                      exchange=news_exchange,
...                      routing_key="news.science")

For now science_news is just a declaration, you can’t perform actions on it. It just describes the name and options for the queue.

The queue can be bound or unbound. Bound means the queue is associated with a channel and operations can be performed on it. To bind the queue you call the queue instance with the channel as an argument:

>>> bound_science_news = science_news(channel)

Now you can perform operations like declare() or purge():

>>> bound_sicence_news.declare()
>>> bound_science_news.purge()
>>> bound_science_news.delete()
class kombu.entity.Queue(name='', exchange=None, routing_key='', channel=None, **kwargs)

A Queue declaration.

Parameters:
name

Name of the queue. Default is no name (default queue destination).

exchange

The Exchange the queue binds to.

routing_key

The routing key (if any), also called binding key.

The interpretation of the routing key depends on the Exchange.type.

  • direct exchange

    Matches if the routing key property of the message and the routing_key attribute are identical.

  • fanout exchange

    Always matches, even if the binding does not have a key.

  • topic exchange

    Matches the routing key property of the message by a primitive pattern matching scheme. The message routing key then consists of words separated by dots (”.”, like domain names), and two special characters are available; star (“*”) and hash (“#”). The star matches any word, and the hash matches zero or more words. For example “*.stock.#” matches the routing keys “usd.stock” and “eur.stock.db” but not “stock.nasdaq”.

channel

The channel the Queue is bound to (if bound).

durable

Durable queues remain active when a server restarts. Non-durable queues (transient queues) are purged if/when a server restarts. Note that durable queues do not necessarily hold persistent messages, although it does not make sense to send persistent messages to a transient queue.

Default is True.

exclusive

Exclusive queues may only be consumed from by the current connection. Setting the ‘exclusive’ flag always implies ‘auto-delete’.

Default is False.

auto_delete

If set, the queue is deleted when all consumers have finished using it. Last consumer can be cancelled either explicitly or because its channel is closed. If there was no consumer ever on the queue, it won’t be deleted.

queue_arguments

Additional arguments used when declaring the queue.

binding_arguments

Additional arguments used when binding the queue.

alias

Unused in Kombu, but applications can take advantage of this. For example to give alternate names to queues with automatically generated queue names.

maybe_bind(channel)

Bind instance to channel if not already bound.

attrs = (('name', None), ('exchange', None), ('routing_key', None), ('queue_arguments', None), ('binding_arguments', None), ('durable', <type 'bool'>), ('exclusive', <type 'bool'>), ('auto_delete', <type 'bool'>), ('no_ack', None), ('alias', None))
auto_delete = False
can_cache_declaration
cancel(consumer_tag)

Cancel a consumer by consumer tag.

consume(consumer_tag='', callback=None, no_ack=None, nowait=False)

Start a queue consumer.

Consumers last as long as the channel they were created on, or until the client cancels them.

Parameters:
  • consumer_tag – Unique identifier for the consumer. The consumer tag is local to a connection, so two clients can use the same consumer tags. If this field is empty the server will generate a unique tag.
  • no_ack – If set messages received does not have to be acknowledged.
  • nowait – Do not wait for a reply.
  • callback – callback called for each delivered message
declare(nowait=False)

Declares the queue, the exchange and binds the queue to the exchange.

delete(if_unused=False, if_empty=False, nowait=False)

Delete the queue.

Parameters:
  • if_unused – If set, the server will only delete the queue if it has no consumers. A channel error will be raised if the queue has consumers.
  • if_empty – If set, the server will only delete the queue if it is empty. If it is not empty a channel error will be raised.
  • nowait – Do not wait for a reply.
durable = True
exchange = <unbound Exchange (direct)>
exclusive = False
get(no_ack=None)

Poll the server for a new message.

Returns the message instance if a message was available, or None otherwise.

Parameters:no_ack – If set messages received does not have to be acknowledged.

This method provides direct access to the messages in a queue using a synchronous dialogue, designed for specific types of applications where synchronous functionality is more important than performance.

name = ''
no_ack = False
purge(nowait=False)

Remove all ready messages from the queue.

queue_bind(nowait=False)

Create the queue binding on the server.

queue_declare(nowait=False, passive=False)

Declare queue on the server.

Parameters:
  • nowait – Do not wait for a reply.
  • passive – If set, the server will not create the queue. The client can use this to check whether a queue exists without modifying the server state.
routing_key = ''
unbind()

Delete the binding on the server.

when_bound()

Table Of Contents

Previous topic

kombu.messaging

Next topic

Common Utilities - kombu.common

This Page




PK=@m330kombu-1.0/reference/kombu.transport.virtual.html kombu.transport.virtual — Kombu 2.2.0rc2 documentation

kombu.transport.virtual

Virtual transport implementation.

Emulates the AMQ API for non-AMQ transports.

copyright:
  1. 2009, 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Transports

class kombu.transport.virtual.Transport(client, **kwargs)

Virtual transport.

Parameters:clientBrokerConnection instance
Channel = <class 'kombu.transport.virtual.Channel'>
Cycle = <class 'kombu.transport.virtual.scheduling.FairCycle'>
polling_interval = 1.0

Time to sleep between unsuccessful polls.

default_port = None

port number used when no port is specified.

state = <kombu.transport.virtual.BrokerState object at 0x4213a10>

BrokerState containing declared exchanges and bindings (set by constructor).

cycle = None

FairCycle instance used to fairly drain events from channels (set by constructor).

establish_connection()
close_connection(connection)
create_channel(connection)
close_channel(channel)
drain_events(connection, timeout=None)

Channel

class kombu.transport.virtual.AbstractChannel

This is an abstract class defining the channel methods you’d usually want to implement in a virtual channel.

Do not subclass directly, but rather inherit from Channel instead.

class kombu.transport.virtual.Channel(connection, **kwargs)

Virtual channel.

Parameters:connection – The transport instance this channel is part of.
Message = <class 'kombu.transport.virtual.Message'>

message class used.

state

Broker state containing exchanges and bindings.

qos

QoS manager for this channel.

do_restore = True

flag to restore unacked messages when channel goes out of scope.

exchange_types = {'topic': <class 'kombu.transport.virtual.exchange.TopicExchange'>, 'fanout': <class 'kombu.transport.virtual.exchange.FanoutExchange'>, 'direct': <class 'kombu.transport.virtual.exchange.DirectExchange'>}

mapping of exchange types and corresponding classes.

exchange_declare(exchange, type='direct', durable=False, auto_delete=False, arguments=None, nowait=False)

Declare exchange.

exchange_delete(exchange, if_unused=False, nowait=False)

Delete exchange and all its bindings.

queue_declare(queue, passive=False, **kwargs)

Declare queue.

queue_delete(queue, if_unusued=False, if_empty=False, **kwargs)

Delete queue.

queue_bind(queue, exchange, routing_key='', arguments=None, **kwargs)

Bind queue to exchange with routing key.

queue_purge(queue, **kwargs)

Remove all ready messages from queue.

basic_publish(message, exchange, routing_key, **kwargs)

Publish message.

basic_consume(queue, no_ack, callback, consumer_tag, **kwargs)

Consume from queue

basic_cancel(consumer_tag)

Cancel consumer by consumer tag.

basic_get(queue, **kwargs)

Get message by direct access (synchronous).

basic_ack(delivery_tag)

Acknowledge message.

basic_recover(requeue=False)

Recover unacked messages.

basic_reject(delivery_tag, requeue=False)

Reject message.

basic_qos(prefetch_size=0, prefetch_count=0, apply_global=False)

Change QoS settings for this channel.

Only prefetch_count is supported.

get_table(exchange)

Get table of bindings for exchange.

typeof(exchange)

Get the exchange type instance for exchange.

drain_events(timeout=None)
prepare_message(message_data, priority=None, content_type=None, content_encoding=None, headers=None, properties=None)

Prepare message data.

message_to_python(raw_message)

Convert raw message to Message instance.

flow(active=True)

Enable/disable message flow.

Raises NotImplementedError:
 as flow is not implemented by the base virtual implementation.
close()

Close channel, cancel all consumers, and requeue unacked messages.

Message

class kombu.transport.virtual.Message(channel, payload, **kwargs)
exception MessageStateError

The message has already been acknowledged.

args
message
Message.ack()

Acknowledge this message as being processed., This will remove the message from the queue.

Raises MessageStateError:
 If the message has already been acknowledged/requeued/rejected.
Message.ack_log_error(logger, errors)
Message.acknowledged

Set to true if the message has been acknowledged.

Message.body
Message.channel
Message.content_encoding
Message.content_type
Message.decode()

Deserialize the message body, returning the original python structure sent by the publisher.

Message.delivery_info
Message.delivery_tag
Message.headers
Message.payload

The decoded message body.

Message.properties
Message.reject()

Reject this message.

The message will be discarded by the server.

Raises MessageStateError:
 If the message has already been acknowledged/requeued/rejected.
Message.reject_log_error(logger, errors)
Message.requeue()

Reject this message and put it back on the queue.

You must not use this method as a means of selecting messages to process.

Raises MessageStateError:
 If the message has already been acknowledged/requeued/rejected.
Message.serializable()

Quality Of Service

class kombu.transport.virtual.QoS(channel, prefetch_count=0)

Quality of Service guarantees.

Only supports prefetch_count at this point.

Parameters:
  • channel – AMQ Channel.
  • prefetch_count – Initial prefetch count (defaults to 0).
ack(delivery_tag)

Acknowledge message and remove from transactional state.

append(message, delivery_tag)

Append message to transactional state.

can_consume()

Returns true if the channel can be consumed from.

Used to ensure the client adhers to currently active prefetch limits.

get(delivery_tag)
prefetch_count = 0

current prefetch count value

reject(delivery_tag, requeue=False)

Remove from transactional state and requeue message.

restore_at_shutdown = True

If disabled, unacked messages won’t be restored at shutdown.

restore_unacked()

Restore all unacknowledged messages.

restore_unacked_once()

Restores all unacknowledged message at shutdown/gc collect.

Will only be done once for each instance.

In-memory State

class kombu.transport.virtual.BrokerState(exchanges=None, bindings=None)
bindings = None

active bindings.

clear()
exchanges = None

exchange declarations.

Table Of Contents

Previous topic

kombu.transport.base

Next topic

kombu.transport.virtual.exchange

This Page




PK=@{H**/kombu-1.0/reference/kombu.utils.functional.html kombu.utils.functional — Kombu 2.2.0rc2 documentation

kombu.utils.functional

kombu.utils.functional.maybe_promise(value)

Evaluates if the value is a promise.

class kombu.utils.functional.promise(fun, *args, **kwargs)

A promise.

Evaluated when called or if the evaluate() method is called. The function is evaluated on every access, so the value is not memoized (see mpromise).

Overloaded operations that will evaluate the promise:
__str__(), __repr__(), __cmp__().
evaluate()

Previous topic

String Encoding - kombu.utils.encoding

Next topic

Finalize - kombu.utils.finalize

This Page




PK=@8?I00'kombu-1.0/reference/kombu.abstract.html kombu.compression — Kombu 2.2.0rc2 documentation

kombu.compression

Object utilities.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.abstract.MaybeChannelBound(*args, **kwargs)

Mixin for classes that can be bound to an AMQP channel.

bind(channel)

Create copy of the instance that is bound to a channel.

can_cache_declaration = False

Defines whether maybe_declare can skip declaring this entity twice.

channel

Current channel if the object is bound.

is_bound

Flag set if the channel is bound.

maybe_bind(channel)

Bind instance to channel if not already bound.

revive(channel)

Revive channel after the connection has been re-established.

Used by ensure().

when_bound()

Callback called when the class is bound.

Previous topic

General Pools - kombu.pools

Next topic

Async Utilities - kombu.syn

This Page




PK=@3!!.kombu-1.0/reference/kombu.transport.pika2.html <no title> — Kombu 2.2.0rc2 documentation

Previous topic

kombu.transport.pika

Next topic

kombu.transport.memory

This Page




PK=@磉!!:kombu-1.0/reference/kombu.transport.sqlalchemy.models.html <no title> — Kombu 2.2.0rc2 documentation

Previous topic

kombu.transport.sqlalchemy

Next topic

<no title>

This Page




PK=@8,","-kombu-1.0/reference/kombu.transport.pika.html kombu.transport.pika — Kombu 2.2.0rc2 documentation

kombu.transport.pika

Previous topic

<no title>

Next topic

<no title>

This Page




PK=@M66*kombu-1.0/reference/kombu.compression.html kombu.compression — Kombu 2.2.0rc2 documentation

kombu.compression

Compression utilities.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Encoding/decoding

kombu.compression.compress(body, content_type)

Compress text.

Parameters:
  • body – The text to compress.
  • content_type – mime-type of compression method to use.
kombu.compression.decompress(body, content_type)

Decompress compressed text.

Parameters:
  • body – Previously compressed text to uncompress.
  • content_type – mime-type of compression method used.

Registry

kombu.compression.encoders()

Returns a list of available compression methods.

kombu.compression.get_encoder(t)

Get encoder by alias name.

kombu.compression.get_decoder(t)

Get decoder by alias name.

kombu.compression.register(encoder, decoder, content_type, aliases=[])

Register new compression method.

Parameters:
  • encoder – Function used to compress text.
  • decoder – Function used to decompress previously compressed text.
  • content_type – The mime type this compression method identifies as.
  • aliases – A list of names to associate with this compression method.

Table Of Contents

Previous topic

kombu.serialization

Next topic

General Pools - kombu.pools

This Page




PK=@ Aw|w|.kombu-1.0/reference/kombu.transport.redis.html kombu.transport.redis — Kombu 2.2.0rc2 documentation

kombu.transport.redis

Redis transport.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Transport

class kombu.transport.redis.Transport(*args, **kwargs)
class Channel(*args, **kwargs)
class QoS(*args, **kwargs)
ack(delivery_tag)
append(message, delivery_tag)
client
reject(delivery_tag, requeue=False)
restore_at_shutdown = True
restore_by_tag(tag)
restore_unacked()
restore_visible(start=0, num=10, interval=10)
unacked_index_key
unacked_key
visibility_timeout
Transport.Channel.active_queues
Transport.Channel.basic_cancel(consumer_tag)
Transport.Channel.basic_consume(queue, *args, **kwargs)
Transport.Channel.client
Transport.Channel.close()
Transport.Channel.from_transport_options = ('body_encoding', 'deadletter_queue', 'unacked_key', 'unacked_index_key', 'visibility_timeout', 'priority_steps')
Transport.Channel.get_table(exchange)
Transport.Channel.keyprefix_queue = '_kombu.binding.%s'
Transport.Channel.pipeline()
Transport.Channel.priority(n)
Transport.Channel.priority_steps = [0, 3, 6, 9]
Transport.Channel.sep = '\x06\x16'
Transport.Channel.subclient
Transport.Channel.supports_fanout = True
Transport.Channel.unacked_index_key = 'unacked_index'
Transport.Channel.unacked_key = 'unacked'
Transport.Channel.visibility_timeout = 18000
Transport.default_port = 6379
Transport.handle_event(fileno, event)
Transport.on_poll_init(poller)
Transport.on_poll_start()
Transport.polling_interval = None

Channel

class kombu.transport.redis.Channel(*args, **kwargs)
class QoS(*args, **kwargs)
ack(delivery_tag)
append(message, delivery_tag)
client
reject(delivery_tag, requeue=False)
restore_at_shutdown = True
restore_by_tag(tag)
restore_unacked()
restore_visible(start=0, num=10, interval=10)
unacked_index_key
unacked_key
visibility_timeout
Channel.active_queues
Channel.basic_cancel(consumer_tag)
Channel.basic_consume(queue, *args, **kwargs)
Channel.client
Channel.close()
Channel.from_transport_options = ('body_encoding', 'deadletter_queue', 'unacked_key', 'unacked_index_key', 'visibility_timeout', 'priority_steps')
Channel.get_table(exchange)
Channel.keyprefix_queue = '_kombu.binding.%s'
Channel.pipeline()
Channel.priority(n)
Channel.priority_steps = [0, 3, 6, 9]
Channel.sep = '\x06\x16'
Channel.subclient
Channel.supports_fanout = True
Channel.unacked_index_key = 'unacked_index'
Channel.unacked_key = 'unacked'
Channel.visibility_timeout = 18000

Table Of Contents

Previous topic

kombu.transport.memory

Next topic

<no title>

This Page




PK=@&\MMkombu-1.0/reference/index.html API Reference — Kombu 2.2.0rc2 documentation

API Reference

Release:2.2
Date:June 06, 2012

Previous topic

Frequently Asked Questions

Next topic

kombu.connection

This Page




PK=@!!2kombu-1.0/reference/kombu.transport.beanstalk.html <no title> — Kombu 2.2.0rc2 documentation

Previous topic

kombu.transport.redis

Next topic

<no title>

This Page




PK=@}**;kombu-1.0/reference/kombu.transport.virtual.scheduling.html kombu.transport.virtual.scheduling — Kombu 2.2.0rc2 documentation

kombu.transport.virtual.scheduling

Consumer utilities.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.transport.virtual.scheduling.FairCycle(fun, resources, predicate=<type 'exceptions.Exception'>)

Consume from a set of resources, where each resource gets an equal chance to be consumed from.

close()
get(**kwargs)

Previous topic

kombu.transport.virtual.exchange

Next topic

kombu.serialization

This Page




PK=@(j#j#3kombu-1.0/reference/kombu.transport.sqlalchemy.html kombu.transport.sqlalchemy — Kombu 2.2.0rc2 documentation

kombu.transport.sqlalchemy

Previous topic

Django Management - clean_kombu_messages

Next topic

<no title>

This Page




PK=@f[{R:R:%kombu-1.0/reference/kombu.common.html Common Utilities - kombu.common — Kombu 2.2.0rc2 documentation

Common Utilities - kombu.common

kombu.common

Common Utilities.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.common.Broadcast(name=None, queue=None, **kwargs)

Convenience class used to define broadcast queues.

Every queue instance will have a unique name, and both the queue and exchange is configured with auto deletion.

Parameters:
  • name – This is used as the name of the exchange.
  • queue – By default a unique id is used for the queue name for every consumer. You can specify a custom queue name here.
  • **kwargs – See Queue for a list of additional keyword arguments supported.
kombu.common.entry_to_queue(queue, **options)
kombu.common.maybe_declare(entity, channel, retry=False, **retry_policy)
kombu.common.uuid()

Generate a unique id, having - hopefully - a very small chance of collision.

For now this is provided by uuid.uuid4().

kombu.common.itermessages(conn, channel, queue, limit=1, timeout=None, Consumer=<class 'kombu.messaging.Consumer'>, callbacks=None, **kwargs)
kombu.common.send_reply(exchange, req, msg, producer=None, **props)
kombu.common.isend_reply(pool, exchange, req, msg, props, **retry_policy)
kombu.common.collect_replies(conn, channel, queue, *args, **kwargs)
kombu.common.insured(pool, fun, args, kwargs, errback=None, on_revive=None, **opts)

Ensures function performing broker commands completes despite intermittent connection failures.

kombu.common.ipublish(pool, fun, args=(), kwargs={}, errback=None, on_revive=None, **retry_policy)

Table Of Contents

Previous topic

kombu.entity

Next topic

Mixin Classes - kombu.mixins

This Page




PK=@7y$RGRG$kombu-1.0/reference/kombu.utils.html Utilities - kombu.utils — Kombu 2.2.0rc2 documentation

Utilities - kombu.utils

kombu.utils

Internal utilities.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.utils.EqualityDict
kombu.utils.say(m, *s)
kombu.utils.uuid()

Generate a unique id, having - hopefully - a very small chance of collision.

For now this is provided by uuid.uuid4().

kombu.utils.kwdict(kwargs)
kombu.utils.maybe_list(v)
kombu.utils.fxrange(start=1.0, stop=None, step=1.0, repeatlast=False)
kombu.utils.fxrangemax(start=1.0, stop=None, step=1.0, max=100.0)
kombu.utils.retry_over_time(fun, catch, args=[], kwargs={}, errback=None, max_retries=None, interval_start=2, interval_step=2, interval_max=30, callback=None)

Retry the function over and over until max retries is exceeded.

For each retry we sleep a for a while before we try again, this interval is increased for every retry until the max seconds is reached.

Parameters:
  • fun – The function to try
  • catch – Exceptions to catch, can be either tuple or a single exception class.
  • args – Positional arguments passed on to the function.
  • kwargs – Keyword arguments passed on to the function.
  • errback – Callback for when an exception in catch is raised. The callback must take two arguments: exc and interval, where exc is the exception instance, and interval is the time in seconds to sleep next..
  • max_retries – Maximum number of retries before we give up. If this is not set, we will retry forever.
  • interval_start – How long (in seconds) we start sleeping between retries.
  • interval_step – By how much the interval is increased for each retry.
  • interval_max – Maximum number of seconds to sleep between retries.
kombu.utils.emergency_dump_state(state, open_file=<built-in function open>, dump=None)
kombu.utils.cached_property

Property descriptor that caches the return value of the get function.

Examples

@cached_property
def connection(self):
    return Connection()

@connection.setter  # Prepares stored value
def connection(self, value):
    if value is None:
        raise TypeError("Connection must be a connection")
    return value

@connection.deleter
def connection(self, value):
    # Additional action to do at del(self.attr)
    if value is not None:
        print("Connection %r deleted" % (value, ))
kombu.utils.reprkwargs(kwargs, sep=', ', fmt='%s=%s')
kombu.utils.reprcall(name, args=(), kwargs=(), sep=', ')
kombu.utils.nested(*args, **kwds)

Combine multiple context managers into a single nested context manager.

Table Of Contents

Previous topic

Async Utilities - kombu.syn

Next topic

Rate limiting - kombu.utils.limits

This Page




PK=@rw::+kombu-1.0/reference/kombu.utils.compat.html Compat. utilities - kombu.utils.compat — Kombu 2.2.0rc2 documentation

Compat. utilities - kombu.utils.compat

kombu.utils.compat

Helps compatibility with older Python versions.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.utils.compat.CompatOrderedDict(*args, **kwds)

Dictionary that remembers insertion order

clear() → None. Remove all items from od.
copy() → a shallow copy of od
classmethod fromkeys(S[, v]) → New ordered dictionary with keys from S

and values equal to v (which defaults to None).

items()
iteritems()
iterkeys()
itervalues()
keys()
pop(key, default=<object object at 0x2dca5a0>)
popitem() -> (k, v)

Return and remove a (key, value) pair. Pairs are returned in LIFO order if last is true or FIFO order if false.

setdefault(key, default=None)
update(other=(), **kwds)
values()
class kombu.utils.compat.LifoQueue(maxsize=0)

Table Of Contents

Previous topic

Rate limiting - kombu.utils.limits

Next topic

Debugging - kombu.utils.debug

This Page




PK=@-B/!!0kombu-1.0/reference/kombu.transport.couchdb.html <no title> — Kombu 2.2.0rc2 documentation

Previous topic

<no title>

Next topic

kombu.transport.django

This Page




PK=@̫C%C%Xkombu-1.0/reference/kombu.transport.django.management.commands.clean_kombu_messages.html Django Management - clean_kombu_messages — Kombu 2.2.0rc2 documentation

Django Management - clean_kombu_messages

members:
undoc-members:

Previous topic

Django Managers - kombu.transport.django.managers

Next topic

kombu.transport.sqlalchemy

This Page




PK=@x..%kombu-1.0/reference/kombu.compat.html kombu.compat — Kombu 2.2.0rc2 documentation

kombu.compat

Carrot compatible interface for Publisher and Producer.

See http://packages.python.org/pypi/carrot for documentation.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Publisher

Replace with kombu.messaging.Producer.

class kombu.compat.Publisher(connection, exchange=None, routing_key=None, exchange_type=None, durable=None, auto_delete=None, channel=None, **kwargs)
auto_declare = True
auto_delete = False
backend
channel = None
close()
compression = None
connection
declare()

Declare the exchange.

This happens automatically at instantiation if auto_declare is enabled.

durable = True
exchange = ''
exchange_type = 'direct'
maybe_declare(entity, retry=False, **retry_policy)

Declare the exchange if it hasn’t already been declared during this session.

on_return = None
publish(body, routing_key=None, delivery_mode=None, mandatory=False, immediate=False, priority=0, content_type=None, content_encoding=None, serializer=None, headers=None, compression=None, exchange=None, retry=False, retry_policy=None, declare=[], **properties)

Publish message to the specified exchange.

Parameters:
  • body – Message body.
  • routing_key – Message routing key.
  • delivery_mode – See delivery_mode.
  • mandatory – Currently not supported.
  • immediate – Currently not supported.
  • priority – Message priority. A number between 0 and 9.
  • content_type – Content type. Default is auto-detect.
  • content_encoding – Content encoding. Default is auto-detect.
  • serializer – Serializer to use. Default is auto-detect.
  • compression – Compression method to use. Default is none.
  • headers – Mapping of arbitrary headers to pass along with the message body.
  • exchange – Override the exchange. Note that this exchange must have been declared.
  • declare – Optional list of required entities that must have been declared before publishing the message. The entities will be declared using maybe_declare().
  • retry – Retry publishing, or declaring entities if the connection is lost.
  • retry_policy – Retry configuration, this is the keywords supported by ensure().
  • **properties – Additional message properties, see AMQP spec.
release()
revive(channel)

Revive the producer after connection loss.

routing_key = ''
send(*args, **kwargs)
serializer = None

Consumer

Replace with kombu.messaging.Consumer.

class kombu.compat.Consumer(connection, queue=None, exchange=None, routing_key=None, exchange_type=None, durable=None, exclusive=None, auto_delete=None, **kwargs)
add_queue(queue)
auto_declare = True
auto_delete = False
callbacks = None
cancel()

End all active queue consumers.

This does not affect already delivered messages, but it does mean the server will not send any more messages for this consumer.

cancel_by_queue(queue)

Cancel consumer by queue name.

channel = None
close()
connection
consume(no_ack=None)
consuming_from(queue)
declare()

Declare queues, exchanges and bindings.

This is done automatically at instantiation if auto_declare is set.

discard_all(filterfunc=None)
durable = True
exchange = ''
exchange_type = 'direct'
exclusive = False
fetch(no_ack=None, enable_callbacks=False)
flow(active)

Enable/disable flow from peer.

This is a simple flow-control mechanism that a peer can use to avoid overflowing its queues or otherwise finding itself receiving more messages than it can process.

The peer that receives a request to stop sending content will finish sending the current content (if any), and then wait until flow is reactivated.

iterconsume(limit=None, no_ack=None)
iterqueue(limit=None, infinite=False)
no_ack = None
on_decode_error = None
process_next()
purge()

Purge messages from all queues.

Warning

This will delete all ready messages, there is no undo operation.

qos(prefetch_size=0, prefetch_count=0, apply_global=False)

Specify quality of service.

The client can request that messages should be sent in advance so that when the client finishes processing a message, the following message is already held locally, rather than needing to be sent down the channel. Prefetching gives a performance improvement.

The prefetch window is Ignored if the no_ack option is set.

Parameters:
  • prefetch_size – Specify the prefetch window in octets. The server will send a message in advance if it is equal to or smaller in size than the available prefetch size (and also falls within other prefetch limits). May be set to zero, meaning “no specific limit”, although other prefetch limits may still apply.
  • prefetch_count – Specify the prefetch window in terms of whole messages.
  • apply_global – Apply new settings globally on all channels. Currently not supported by RabbitMQ.
queue = ''
queues = None
receive(body, message)

Method called when a message is received.

This dispatches to the registered callbacks.

Parameters:
  • body – The decoded message body.
  • message – The Message instance.
Raises NotImplementedError:
 

If no consumer callbacks have been registered.

recover(requeue=False)

Redeliver unacknowledged messages.

Asks the broker to redeliver all unacknowledged messages on the specified channel.

Parameters:requeue – By default the messages will be redelivered to the original recipient. With requeue set to true, the server will attempt to requeue the message, potentially then delivering it to an alternative subscriber.
register_callback(callback)

Register a new callback to be called when a message is received.

The signature of the callback needs to accept two arguments: (body, message), which is the decoded message body and the Message instance (a subclass of Message.

revive(channel)
routing_key = ''
wait(limit=None)

ConsumerSet

Replace with kombu.messaging.Consumer.

class kombu.compat.ConsumerSet(connection, from_dict=None, consumers=None, channel=None, **kwargs)
add_consumer(consumer)
add_consumer_from_dict(queue, **options)
add_queue(queue)
auto_declare = True
callbacks = None
cancel()

End all active queue consumers.

This does not affect already delivered messages, but it does mean the server will not send any more messages for this consumer.

cancel_by_queue(queue)

Cancel consumer by queue name.

channel = None
close()
connection
consume(no_ack=None)
consuming_from(queue)
declare()

Declare queues, exchanges and bindings.

This is done automatically at instantiation if auto_declare is set.

discard_all()
flow(active)

Enable/disable flow from peer.

This is a simple flow-control mechanism that a peer can use to avoid overflowing its queues or otherwise finding itself receiving more messages than it can process.

The peer that receives a request to stop sending content will finish sending the current content (if any), and then wait until flow is reactivated.

iterconsume(limit=None, no_ack=False)
no_ack = None
on_decode_error = None
purge()

Purge messages from all queues.

Warning

This will delete all ready messages, there is no undo operation.

qos(prefetch_size=0, prefetch_count=0, apply_global=False)

Specify quality of service.

The client can request that messages should be sent in advance so that when the client finishes processing a message, the following message is already held locally, rather than needing to be sent down the channel. Prefetching gives a performance improvement.

The prefetch window is Ignored if the no_ack option is set.

Parameters:
  • prefetch_size – Specify the prefetch window in octets. The server will send a message in advance if it is equal to or smaller in size than the available prefetch size (and also falls within other prefetch limits). May be set to zero, meaning “no specific limit”, although other prefetch limits may still apply.
  • prefetch_count – Specify the prefetch window in terms of whole messages.
  • apply_global – Apply new settings globally on all channels. Currently not supported by RabbitMQ.
queues = None
receive(body, message)

Method called when a message is received.

This dispatches to the registered callbacks.

Parameters:
  • body – The decoded message body.
  • message – The Message instance.
Raises NotImplementedError:
 

If no consumer callbacks have been registered.

recover(requeue=False)

Redeliver unacknowledged messages.

Asks the broker to redeliver all unacknowledged messages on the specified channel.

Parameters:requeue – By default the messages will be redelivered to the original recipient. With requeue set to true, the server will attempt to requeue the message, potentially then delivering it to an alternative subscriber.
register_callback(callback)

Register a new callback to be called when a message is received.

The signature of the callback needs to accept two arguments: (body, message), which is the decoded message body and the Message instance (a subclass of Message.

revive(channel)

Table Of Contents

Previous topic

Clocks and Synchronization - kombu.clocks

Next topic

kombu.pidbox

This Page




PK=@Sn***kombu-1.0/reference/kombu.utils.debug.html Debugging - kombu.utils.debug — Kombu 2.2.0rc2 documentation

Debugging - kombu.utils.debug

kombu.utils.debug

Debugging support.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

kombu.utils.debug.setup_logging(loglevel=10, loggers=['kombu.connection', 'kombu.channel'])
class kombu.utils.debug.Logwrapped(instance, logger=None, ident=None)

Table Of Contents

Previous topic

Compat. utilities - kombu.utils.compat

Next topic

String Encoding - kombu.utils.encoding

This Page




PK=@' dڐ''"kombu-1.0/reference/kombu.syn.html Async Utilities - kombu.syn — Kombu 2.2.0rc2 documentation

Async Utilities - kombu.syn

kombu.syn

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

kombu.syn.detect_environment()

Table Of Contents

Previous topic

kombu.compression

Next topic

Utilities - kombu.utils

This Page




PK=@Dup1p1"kombu-1.0/reference/kombu.log.html Logging - kombu.log — Kombu 2.2.0rc2 documentation

Logging - kombu.log

class kombu.log.LogMixin
annotate(text)
critical(*args, **kwargs)
debug(*args, **kwargs)
error(*args, **kwargs)
get_logger()
get_loglevel(level)
info(*args, **kwargs)
is_enabled_for(level)
log(severity, *args, **kwargs)
logger
logger_name
warn(*args, **kwargs)
kombu.log.get_loglevel(level)
kombu.log.setup_logging(loglevel=None, logfile=None)

Previous topic

kombu.exceptions

Next topic

kombu.transport

This Page




PK=@xe1e16kombu-1.0/reference/kombu.transport.django.models.html Django Models - kombu.transport.django.models — Kombu 2.2.0rc2 documentation

Django Models - kombu.transport.django.models

class kombu.transport.django.models.Message(*args, **kwargs)

Message(id, visible, sent_at, payload, queue_id)

exception DoesNotExist
exception Message.MultipleObjectsReturned
Message.objects = <kombu.transport.django.managers.MessageManager object at 0x4505f10>
Message.queue
class kombu.transport.django.models.Queue(*args, **kwargs)

Queue(id, name)

exception DoesNotExist
exception Queue.MultipleObjectsReturned
Queue.messages
Queue.objects = <kombu.transport.django.managers.QueueManager object at 0x4505a10>

Previous topic

kombu.transport.django

Next topic

Django Managers - kombu.transport.django.managers

This Page




PK=@^x22-kombu-1.0/reference/kombu.utils.encoding.html String Encoding - kombu.utils.encoding — Kombu 2.2.0rc2 documentation

String Encoding - kombu.utils.encoding

kombu.utils.encoding

Utilities to encode text, and to safely emit text from running applications without crashing with the infamous UnicodeDecodeError exception.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

kombu.utils.encoding.bytes_to_str(s)
kombu.utils.encoding.default_encode(obj)
kombu.utils.encoding.default_encoding()
kombu.utils.encoding.ensure_bytes(s)
kombu.utils.encoding.from_utf8(s, *args, **kwargs)
kombu.utils.encoding.safe_repr(o, errors='replace')
kombu.utils.encoding.safe_str(s, errors='replace')
kombu.utils.encoding.str_to_bytes(s)

Table Of Contents

Previous topic

Debugging - kombu.utils.debug

Next topic

kombu.utils.functional

This Page




PK=@]mWyWy(kombu-1.0/reference/kombu.messaging.html kombu.messaging — Kombu 2.2.0rc2 documentation

kombu.messaging

Sending and receiving messages.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Message Producer

class kombu.messaging.Producer(channel, exchange=None, routing_key=None, serializer=None, auto_declare=None, compression=None, on_return=None)

Message Producer.

Parameters:
  • channel – Connection or channel.
  • exchange – Optional default exchange.
  • routing_key – Optional default routing key.
  • serializer – Default serializer. Default is “json”.
  • compression – Default compression method. Default is no compression.
  • auto_declare – Automatically declare the default exchange at instantiation. Default is True.
  • on_return – Callback to call for undeliverable messages, when the mandatory or immediate arguments to publish() is used. This callback needs the following signature: (exception, exchange, routing_key, message). Note that the producer needs to drain events to use this feature.
channel = None

The connection channel used.

exchange = None

Default exchange.

routing_key = ''
serializer = None

Default serializer to use. Default is JSON.

compression = None

Default compression method. Disabled by default.

auto_declare = True

By default the exchange is declared at instantiation. If you want to declare manually then you can set this to False.

on_return = None

Basic return callback.

declare()

Declare the exchange.

This happens automatically at instantiation if auto_declare is enabled.

publish(body, routing_key=None, delivery_mode=None, mandatory=False, immediate=False, priority=0, content_type=None, content_encoding=None, serializer=None, headers=None, compression=None, exchange=None, retry=False, retry_policy=None, declare=[], **properties)

Publish message to the specified exchange.

Parameters:
  • body – Message body.
  • routing_key – Message routing key.
  • delivery_mode – See delivery_mode.
  • mandatory – Currently not supported.
  • immediate – Currently not supported.
  • priority – Message priority. A number between 0 and 9.
  • content_type – Content type. Default is auto-detect.
  • content_encoding – Content encoding. Default is auto-detect.
  • serializer – Serializer to use. Default is auto-detect.
  • compression – Compression method to use. Default is none.
  • headers – Mapping of arbitrary headers to pass along with the message body.
  • exchange – Override the exchange. Note that this exchange must have been declared.
  • declare – Optional list of required entities that must have been declared before publishing the message. The entities will be declared using maybe_declare().
  • retry – Retry publishing, or declaring entities if the connection is lost.
  • retry_policy – Retry configuration, this is the keywords supported by ensure().
  • **properties – Additional message properties, see AMQP spec.
revive(channel)

Revive the producer after connection loss.

Message Consumer

class kombu.messaging.Consumer(channel, queues=None, no_ack=None, auto_declare=None, callbacks=None, on_decode_error=None)

Message consumer.

Parameters:
channel = None

The connection/channel to use for this consumer.

queues = None

A single Queue, or a list of queues to consume from.

no_ack = None

Flag for message acknowledgment disabled/enabled. Enabled by default.

auto_declare = True

By default all entities will be declared at instantiation, if you want to handle this manually you can set this to False.

callbacks = None

List of callbacks called in order when a message is received.

The signature of the callbacks must take two arguments: (body, message), which is the decoded message body and the Message instance (a subclass of Message).

on_decode_error = None

Callback called when a message can’t be decoded.

The signature of the callback must take two arguments: (message, exc), which is the message that can’t be decoded and the exception that occurred while trying to decode it.

declare()

Declare queues, exchanges and bindings.

This is done automatically at instantiation if auto_declare is set.

register_callback(callback)

Register a new callback to be called when a message is received.

The signature of the callback needs to accept two arguments: (body, message), which is the decoded message body and the Message instance (a subclass of Message.

consume(no_ack=None)
cancel()

End all active queue consumers.

This does not affect already delivered messages, but it does mean the server will not send any more messages for this consumer.

cancel_by_queue(queue)

Cancel consumer by queue name.

purge()

Purge messages from all queues.

Warning

This will delete all ready messages, there is no undo operation.

flow(active)

Enable/disable flow from peer.

This is a simple flow-control mechanism that a peer can use to avoid overflowing its queues or otherwise finding itself receiving more messages than it can process.

The peer that receives a request to stop sending content will finish sending the current content (if any), and then wait until flow is reactivated.

qos(prefetch_size=0, prefetch_count=0, apply_global=False)

Specify quality of service.

The client can request that messages should be sent in advance so that when the client finishes processing a message, the following message is already held locally, rather than needing to be sent down the channel. Prefetching gives a performance improvement.

The prefetch window is Ignored if the no_ack option is set.

Parameters:
  • prefetch_size – Specify the prefetch window in octets. The server will send a message in advance if it is equal to or smaller in size than the available prefetch size (and also falls within other prefetch limits). May be set to zero, meaning “no specific limit”, although other prefetch limits may still apply.
  • prefetch_count – Specify the prefetch window in terms of whole messages.
  • apply_global – Apply new settings globally on all channels. Currently not supported by RabbitMQ.
recover(requeue=False)

Redeliver unacknowledged messages.

Asks the broker to redeliver all unacknowledged messages on the specified channel.

Parameters:requeue – By default the messages will be redelivered to the original recipient. With requeue set to true, the server will attempt to requeue the message, potentially then delivering it to an alternative subscriber.
receive(body, message)

Method called when a message is received.

This dispatches to the registered callbacks.

Parameters:
  • body – The decoded message body.
  • message – The Message instance.
Raises NotImplementedError:
 

If no consumer callbacks have been registered.

revive(channel)

Revive consumer after connection loss.

Table Of Contents

Previous topic

kombu.simple

Next topic

kombu.entity

This Page




PK=@3#!!4kombu-1.0/reference/kombu.transport.librabbitmq.html <no title> — Kombu 2.2.0rc2 documentation

Previous topic

kombu.transport.amqplib

Next topic

kombu.transport.pika

This Page




PK=@P2P28kombu-1.0/reference/kombu.transport.django.managers.html Django Managers - kombu.transport.django.managers — Kombu 2.2.0rc2 documentation

Django Managers - kombu.transport.django.managers

class kombu.transport.django.managers.MessageManager
cleanup()
cleanup_every = 10
connection_for_write()
pop(*args, **kwargs)
class kombu.transport.django.managers.QueueManager
fetch(queue_name)
publish(queue_name, payload)
purge(queue_name)
size(queue_name)
kombu.transport.django.managers.select_for_update(qs)

Previous topic

Django Models - kombu.transport.django.models

Next topic

Django Management - clean_kombu_messages

This Page




PK=@n44/kombu-1.0/reference/kombu.transport.memory.html kombu.transport.memory — Kombu 2.2.0rc2 documentation

kombu.transport.memory

In-memory transport.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Transport

class kombu.transport.memory.Transport(client, **kwargs)
class Channel(connection, **kwargs)
after_reply_message_received(queue)
do_restore = False
queues = {}
Transport.state = <kombu.transport.virtual.BrokerState object at 0x47b5e50>

memory backend state is global.

Channel

class kombu.transport.memory.Channel(connection, **kwargs)
after_reply_message_received(queue)
do_restore = False
queues = {}

Table Of Contents

Previous topic

<no title>

Next topic

kombu.transport.redis

This Page




PK=@JeW].].(kombu-1.0/reference/kombu.transport.html kombu.transport — Kombu 2.2.0rc2 documentation

kombu.transport

Built-in transports.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Data

kombu.transport.DEFAULT_TRANSPORT

Default transport used when no transport specified.

kombu.transport.TRANSPORT_ALIASES

Mapping of transport aliases/class names.

Functions

kombu.transport.get_transport_cls(transport=None)

Get transport class by name.

The transport string is the full path to a transport class, e.g.:

"kombu.transport.amqplib.Transport"

If the name does not include ”.” (is not fully qualified), the alias table will be consulted.

kombu.transport.resolve_transport(transport=None)

Table Of Contents

Previous topic

Logging - kombu.log

Next topic

kombu.transport.amqplib

This Page




PK=@~ɈC2C2%kombu-1.0/reference/kombu.clocks.html Clocks and Synchronization - kombu.clocks — Kombu 2.2.0rc2 documentation

Clocks and Synchronization - kombu.clocks

kombu.clocks

Logical Clocks and Synchronization.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.clocks.LamportClock(initial_value=0)

Lamport’s logical clock.

From Wikipedia:

A Lamport logical clock is a monotonically incrementing software counter maintained in each process. It follows some simple rules:

  • A process increments its counter before each event in that process;
  • When a process sends a message, it includes its counter value with the message;
  • On receiving a message, the receiver process sets its counter to be greater than the maximum of its own value and the received value before it considers the message received.

Conceptually, this logical clock can be thought of as a clock that only has meaning in relation to messages moving between processes. When a process receives a message, it resynchronizes its logical clock with the sender.

Usage

When sending a message use forward() to increment the clock, when receiving a message use adjust() to sync with the time stamp of the incoming message.

adjust(other)
forward()
value = 0

The clocks current value.

Table Of Contents

Previous topic

Mixin Classes - kombu.mixins

Next topic

kombu.compat

This Page




PK=@X``%kombu-1.0/reference/kombu.pidbox.html kombu.pidbox — Kombu 2.2.0rc2 documentation

kombu.pidbox

Generic process mailbox.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Introduction

Creating the applications Mailbox

>>> mailbox = pidbox.Mailbox("celerybeat", type="direct")

>>> @mailbox.handler
>>> def reload_schedule(state, **kwargs):
...     state["beat"].reload_schedule()

>>> @mailbox.handler
>>> def connection_info(state, **kwargs):
...     return {"connection": state["connection"].info()}

Example Node

>>> connection = kombu.BrokerConnection()
>>> state = {"beat": beat,
            "connection": connection}
>>> consumer = mailbox(connection).Node(hostname).listen()
>>> try:
...     while True:
...         connection.drain_events(timeout=1)
... finally:
...     consumer.cancel()

Example Client

>>> mailbox.cast("reload_schedule")   # cast is async.
>>> info = celerybeat.call("connection_info", timeout=1)

Mailbox

class kombu.pidbox.Mailbox(namespace, type='direct', connection=None)
namespace = None

Name of application.

connection = None

Connection (if bound).

type = 'direct'

Exchange type (usually direct, or fanout for broadcast).

exchange = None

mailbox exchange (init by constructor).

reply_exchange = None

exchange to send replies to.

Node(hostname=None, state=None, channel=None, handlers=None)
call(destination, command, kwargs={}, timeout=None, callback=None, channel=None)
cast(destination, command, kwargs={})
abcast(command, kwargs={})
multi_call(command, kwargs={}, timeout=1, limit=None, callback=None, channel=None)
get_reply_queue(ticket)
get_queue(hostname)

Node

class kombu.pidbox.Node(hostname, state=None, channel=None, handlers=None, mailbox=None)
hostname = None

hostname of the node.

mailbox = None

the Mailbox this is a node for.

handlers = None

map of method name/handlers.

state = None

current context (passed on to handlers)

channel = None

current channel.

Consumer(channel=None, **options)
handler(fun)
listen(channel=None, callback=None)
dispatch(method, arguments=None, reply_to=None)
dispatch_from_message(message)
handle_call(method, arguments)
handle_cast(method, arguments)
handle(method, arguments={})
handle_message(body, message)
reply(data, exchange, routing_key, **kwargs)

Table Of Contents

Previous topic

kombu.compat

Next topic

kombu.exceptions

This Page




PK=@͖y!!,kombu-1.0/reference/kombu.transport.SQS.html <no title> — Kombu 2.2.0rc2 documentation

Previous topic

<no title>

Next topic

kombu.transport.base

This Page




PK=@"2L2L-kombu-1.0/reference/kombu.transport.base.html kombu.transport.base — Kombu 2.2.0rc2 documentation

kombu.transport.base

Base transport interface.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Message

class kombu.transport.base.Message(channel, body=None, delivery_tag=None, content_type=None, content_encoding=None, delivery_info={}, properties=None, headers=None, postencode=None, **kwargs)

Base class for received messages.

payload

The decoded message body.

channel
delivery_tag
content_type
content_encoding
delivery_info
headers
properties
body
acknowledged

Set to true if the message has been acknowledged.

ack()

Acknowledge this message as being processed., This will remove the message from the queue.

Raises MessageStateError:
 If the message has already been acknowledged/requeued/rejected.
reject()

Reject this message.

The message will be discarded by the server.

Raises MessageStateError:
 If the message has already been acknowledged/requeued/rejected.
requeue()

Reject this message and put it back on the queue.

You must not use this method as a means of selecting messages to process.

Raises MessageStateError:
 If the message has already been acknowledged/requeued/rejected.
decode()

Deserialize the message body, returning the original python structure sent by the publisher.

Transport

class kombu.transport.base.Transport(client, **kwargs)

Base class for transports.

client = None

The BrokerConnection owning this instance.

default_port = None

Default port used when no port has been specified.

connection_errors = ()

Tuple of errors that can happen due to connection failure.

channel_errors = ()

Tuple of errors that can happen due to channel/method failure.

establish_connection()
close_connection(connection)
create_channel(connection)
close_channel(connection)
drain_events(connection, **kwargs)

Table Of Contents

Previous topic

<no title>

Next topic

kombu.transport.virtual

This Page




PK=@GYkDdDd0kombu-1.0/reference/kombu.transport.amqplib.html kombu.transport.amqplib — Kombu 2.2.0rc2 documentation

kombu.transport.amqplib

amqplib transport.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Transport

class kombu.transport.amqplib.Transport(client, **kwargs)
class Connection(*args, **kwargs)
channel(channel_id=None)
drain_events(timeout=None)

Wait for an event on a channel.

read_timeout(timeout=None)
Transport.channel_errors = (<class 'kombu.exceptions.StdChannelError'>, <class 'amqplib.client_0_8.exceptions.AMQPChannelException'>)
Transport.close_connection(connection)

Close the AMQP broker connection.

Transport.connection_errors = (<class 'amqplib.client_0_8.exceptions.AMQPConnectionException'>, <class 'socket.error'>, <type 'exceptions.IOError'>, <type 'exceptions.OSError'>, <type 'exceptions.AttributeError'>)
Transport.create_channel(connection)
Transport.default_connection_params
Transport.default_port = 5672
Transport.drain_events(connection, **kwargs)
Transport.establish_connection()

Establish connection to the AMQP broker.

Transport.eventmap(connection)
Transport.get_manager(hostname=None, port=None, userid=None, password=None)
Transport.is_alive(connection)
Transport.nb_keep_draining = True
Transport.on_poll_init(poller)
Transport.on_poll_start()
Transport.verify_connection(connection)

Connection

class kombu.transport.amqplib.Connection(*args, **kwargs)
channel(channel_id=None)
close(reply_code=0, reply_text='', method_sig=(0, 0))

request a connection close

This method indicates that the sender wants to close the connection. This may be due to internal conditions (e.g. a forced shut-down) or due to an error handling a specific method, i.e. an exception. When a close is due to an exception, the sender provides the class and method id of the method which caused the exception.

RULE:

After sending this method any received method except the Close-OK method MUST be discarded.

RULE:

The peer sending this method MAY use a counter or timeout to detect failure of the other peer to respond correctly with the Close-OK method.

RULE:

When a server receives the Close method from a client it MUST delete all server-side resources associated with the client’s context. A client CANNOT reconnect to a context after sending or receiving a Close method.
PARAMETERS:

reply_code: short

The reply code. The AMQ reply codes are defined in AMQ RFC 011.

reply_text: shortstr

The localised reply text. This text can be logged as an aid to resolving issues.

class_id: short

failing method class

When the close is provoked by a method exception, this is the class of the method.

method_id: short

failing method ID

When the close is provoked by a method exception, this is the ID of the method.

dispatch_method(method_sig, args, content)
drain_events(timeout=None)

Wait for an event on a channel.

read_timeout(timeout=None)
wait(allowed_methods=None)

Wait for a method that matches our allowed_methods parameter (the default value of None means match any method), and dispatch to it.

Channel

class kombu.transport.amqplib.Channel(*args, **kwargs)
class Message(channel, msg, **kwargs)
Channel.basic_cancel(consumer_tag, **kwargs)
Channel.basic_consume(*args, **kwargs)
Channel.close()
Channel.events = {'basic_return': []}
Channel.message_to_python(raw_message)

Convert encoded message body back to a Python value.

Channel.prepare_message(message_data, priority=None, content_type=None, content_encoding=None, headers=None, properties=None)

Encapsulate data into a AMQP message.

Message

class kombu.transport.amqplib.Message(channel, msg, **kwargs)

Table Of Contents

Previous topic

kombu.transport

Next topic

<no title>

This Page




PK=@F $|J|J,kombu-1.0/reference/kombu.serialization.html kombu.serialization — Kombu 2.2.0rc2 documentation

kombu.serialization

Serialization utilities.

copyright:
  1. 2009 - 2012 by Ask Solem
license:

BSD, see LICENSE for more details.

Overview

Centralized support for encoding/decoding of data structures. Contains json, pickle, msgpack, and yaml serializers.

Optionally installs support for YAML if the PyYAML package is installed.

Optionally installs support for msgpack if the msgpack-python package is installed.

Exceptions

exception kombu.serialization.SerializerNotInstalled

Support for the requested serialization type is not installed

Serialization

kombu.serialization.encode(self, data, serializer=None)
decode(data, content_type, content_encoding):

Deserialize a data stream as serialized using encode based on content_type.

Parameters:
  • data – The message data to deserialize.
  • content_type – The content-type of the data. (e.g., application/json).
  • content_encoding – The content-encoding of the data. (e.g., utf-8, binary, or us-ascii).
Returns:

The unserialized data.

kombu.serialization.decode(self, data, content_type, content_encoding, force=False)
register(name, encoder, decoder, content_type,
content_encoding="utf-8"):
Register a new encoder/decoder.
Parameters:
  • name – A convenience name for the serialization method.
  • encoder – A method that will be passed a python data structure and should return a string representing the serialized data. If None, then only a decoder will be registered. Encoding will not be possible.
  • decoder – A method that will be passed a string representing serialized data and should return a python data structure. If None, then only an encoder will be registered. Decoding will not be possible.
  • content_type – The mime-type describing the serialized structure.
  • content_encoding – The content encoding (character set) that the decoder method will be returning. Will usually be utf-8`, us-ascii, or binary.
kombu.serialization.raw_encode(data)

Special case serializer.

Registry

kombu.serialization.register(self, name, encoder, decoder, content_type, content_encoding='utf-8')
unregister(name):
Unregister registered encoder/decoder.
Parameters:name – Registered serialization method name.
kombu.serialization.registry = <kombu.serialization.SerializerRegistry object at 0x2df8c90>
kombu.serialization.encode(data, serializer=default_serializer)

Serialize a data structure into a string suitable for sending as an AMQP message body.

Parameters:
  • data – The message data to send. Can be a list, dictionary or a string.
  • serializer

    An optional string representing the serialization method you want the data marshalled into. (For example, json, raw, or pickle).

    If None (default), then json will be used, unless data is a str or unicode object. In this latter case, no serialization occurs as it would be unnecessary.

    Note that if serializer is specified, then that serialization method will be used even if a str or unicode object is passed in.

Returns:

A three-item tuple containing the content type (e.g., application/json), content encoding, (e.g., utf-8) and a string containing the serialized data.

Raises SerializerNotInstalled:
 

If the serialization method requested is not available.

Table Of Contents

Previous topic

kombu.transport.virtual.scheduling

Next topic

kombu.compression

This Page




PK=@%h#h#(kombu-1.0/reference/kombu.utils.url.html kombu.utils.url — Kombu 2.2.0rc2 documentation

kombu.utils.url

kombu.utils.url.parse_url(url)

Previous topic

Finalize - kombu.utils.finalize

Next topic

Change history

This Page




PK=@G=N=N%kombu-1.0/reference/kombu.simple.html kombu.simple — Kombu 2.2.0rc2 documentation

kombu.simple

Simple interface.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Persistent

class kombu.simple.SimpleQueue(channel, name, no_ack=None, queue_opts=None, exchange_opts=None, serializer=None, compression=None, **kwargs)
channel

Current channel

producer

Producer used to publish messages.

consumer

Consumer used to receive messages.

no_ack

flag to enable/disable acknowledgements.

queue

Queue to consume from (if consuming).

queue_opts
Additional options for the queue declaration.
exchange_opts

Additional options for the exchange declaration.

get(block=True, timeout=None)
get_nowait()
put(message, serializer=None, headers=None, compression=None, routing_key=None, **kwargs)
clear()
__len__()

len(self) -> self.qsize()

qsize()
close()

Buffer

class kombu.simple.SimpleBuffer(channel, name, no_ack=None, queue_opts=None, exchange_opts=None, serializer=None, compression=None, **kwargs)
channel

Current channel

producer

Producer used to publish messages.

consumer

Consumer used to receive messages.

no_ack

flag to enable/disable acknowledgements.

queue

Queue to consume from (if consuming).

queue_opts
Additional options for the queue declaration.
exchange_opts

Additional options for the exchange declaration.

get(block=True, timeout=None)
get_nowait()
put(message, serializer=None, headers=None, compression=None, routing_key=None, **kwargs)
clear()
__len__()

len(self) -> self.qsize()

qsize()
close()

Table Of Contents

Previous topic

kombu.connection

Next topic

kombu.messaging

This Page




PK=@jU[U[%kombu-1.0/reference/kombu.mixins.html Mixin Classes - kombu.mixins — Kombu 2.2.0rc2 documentation

Mixin Classes - kombu.mixins

kombu.mixins

Useful mixin classes.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class kombu.mixins.ConsumerMixin

Convenience mixin for implementing consumer threads.

It can be used outside of threads, with threads, or greenthreads (eventlet/gevent) too.

The basic class would need a connection attribute which must be a BrokerConnection instance, and define a get_consumers() method that returns a list of kombu.messaging.Consumer instances to use. Supporting multiple consumers is important so that multiple channels can be used for different QoS requirements.

Example:

class Worker(ConsumerMixin):
    task_queue = Queue("tasks", Exchange("tasks"), "tasks"))

    def __init__(self, connection):
        self.connection = None

    def get_consumers(self, Consumer, channel):
        return [Consumer(queues=[self.task_queue],
                         callback=[self.on_task])]

    def on_task(self, body, message):
        print("Got task: %r" % (body, ))
        message.ack()

Additional handler methods:

  • extra_context()

    Optional extra context manager that will be entered after the connection and consumers have been set up.

    Takes arguments (connection, channel).

  • on_connection_error()

    Handler called if the connection is lost/ or is unavailable.

    Takes arguments (exc, interval), where interval is the time in seconds when the connection will be retried.

    The default handler will log the exception.

  • on_connection_revived()

    Handler called when the connection is re-established after connection failure.

    Takes no arguments.

  • on_consume_ready()

    Handler called when the consumer is ready to accept messages.

    Takes arguments (connection, channel, consumers). Also keyword arguments to consume are forwarded to this handler.

  • on_consume_end()

    Handler called after the consumers are cancelled. Takes arguments (connection, channel).

  • on_iteration()

    Handler called for every iteration while draining events.

    Takes no arguments.

  • on_decode_error()

    Handler called if a consumer was unable to decode the body of a message.

    Takes arguments (message, exc) where message is the original message object.

    The default handler will log the error and acknowledge the message, so if you override make sure to call super, or perform these steps yourself.

Consumer(*args, **kwds)
channel_errors
connect_max_retries = None

maximum number of retries trying to re-establish the connection, if the connection is lost/unavailable.

connection_errors
consume(limit=None, timeout=None, safety_interval=1, **kwargs)
establish_connection(*args, **kwds)
extra_context(*args, **kwds)
get_consumers(Consumer, channel)
maybe_conn_error(fun)

Applies function but ignores any connection or channel errors raised.

on_connection_error(exc, interval)
on_connection_revived()
on_consume_end(connection, channel)
on_consume_ready(connection, channel, consumers, **kwargs)
on_decode_error(message, exc)
on_iteration()
restart_limit
run()
should_stop = False

When this is set to true the consumer should stop consuming and return, so that it can be joined if it is the implementation of a thread.

Table Of Contents

Previous topic

Common Utilities - kombu.common

Next topic

Clocks and Synchronization - kombu.clocks

This Page




PK=@. |NN9kombu-1.0/reference/kombu.transport.virtual.exchange.html kombu.transport.virtual.exchange — Kombu 2.2.0rc2 documentation

kombu.transport.virtual.exchange

Implementations of the standard exchanges defined by the AMQ protocol (excluding the headers exchange).

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Direct

class kombu.transport.virtual.exchange.DirectExchange(channel)

The direct exchange routes based on exact routing keys.

deliver(message, exchange, routing_key, **kwargs)
lookup(table, exchange, routing_key, default)
type = 'direct'

Topic

class kombu.transport.virtual.exchange.TopicExchange(channel)

The topic exchange routes messages based on words separated by dots, using wildcard characters * (any single word), and # (one or more words).

deliver(message, exchange, routing_key, **kwargs)
key_to_pattern(rkey)

Get the corresponding regex for any routing key.

lookup(table, exchange, routing_key, default)
prepare_bind(queue, exchange, routing_key, arguments)
type = 'topic'
wildcards = {'#': '.*?', '*': '.*?[^\\.]'}

map of wildcard to regex conversions

Fanout

class kombu.transport.virtual.exchange.FanoutExchange(channel)

The fanout exchange implements broadcast messaging by delivering copies of all messages to all queues bound the the exchange.

To support fanout the virtual channel needs to store the table as shared state. This requires that the Channel.supports_fanout attribute is set to true, and the Channel._queue_bind and Channel.get_table methods are implemented. See the redis backend for an example implementation of these methods.

deliver(message, exchange, routing_key, **kwargs)
lookup(table, exchange, routing_key, default)
type = 'fanout'

Interface

class kombu.transport.virtual.exchange.ExchangeType(channel)

Implements the specifics for an exchange type.

Parameters:channel – AMQ Channel
equivalent(prev, exchange, type, durable, auto_delete, arguments)

Returns true if prev and exchange is equivalent.

lookup(table, exchange, routing_key, default)

Lookup all queues matching routing_key in exchange.

Returns:default if no queues matched.
prepare_bind(queue, exchange, routing_key, arguments)

Returns tuple of (routing_key, regex, queue) to be stored for bindings to this exchange.

type = None

Table Of Contents

Previous topic

kombu.transport.virtual

Next topic

kombu.transport.virtual.scheduling

This Page




PK=@Z,,)kombu-1.0/reference/kombu.connection.html kombu.connection — Kombu 2.2.0rc2 documentation

kombu.connection

Broker connection and pools.

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

Connection

class kombu.connection.BrokerConnection(hostname='localhost', userid=None, password=None, virtual_host=None, port=None, insist=False, ssl=False, transport=None, connect_timeout=5, transport_options=None, login_method=None, uri_prefix=None, **kwargs)

A connection to the broker.

Parameters:
  • URL – Connection URL.
  • hostname – Default host name/address if not provided in the URL.
  • userid – Default user name if not provided in the URL.
  • password – Default password if not provided in the URL.
  • virtual_host – Default virtual host if not provided in the URL.
  • port – Default port if not provided in the URL.
  • ssl – Use SSL to connect to the server. Default is False. May not be supported by the specified transport.
  • transport – Default transport if not specified in the URL.
  • connect_timeout – Timeout in seconds for connecting to the server. May not be supported by the specified transport.
  • transport_options – A dict of additional connection arguments to pass to alternate kombu channel implementations. Consult the transport documentation for available options.
  • insistDeprecated

Note

The connection is established lazily when needed. If you need the connection to be established, then force it to do so using connect():

>>> conn.connect()

Remember to always close the connection:

>>> conn.release()

Attributes

connection_errors

List of exceptions that may be raised by the connection.

channel_errors

List of exceptions that may be raised by the channel.

transport
host

The host as a host name/port pair separated by colon.

connection

The underlying connection object.

Warning

This instance is transport specific, so do not depend on the interface of this object.

Methods

connect()

Establish connection to server immediately.

channel()

Request a new channel.

drain_events(**kwargs)

Wait for a single event from the server.

Parameters:timeout – Timeout in seconds before we give up. Raises socket.timeout if the timeout is exceeded.

Usually used from an event loop.

release()

Close the connection (if open).

ensure_connection(errback=None, max_retries=None, interval_start=2, interval_step=2, interval_max=30, callback=None)

Ensure we have a connection to the server.

If not retry establishing the connection with the settings specified.

Parameters:
  • errback – Optional callback called each time the connection can’t be established. Arguments provided are the exception raised and the interval that will be slept (exc, interval).
  • max_retries – Maximum number of times to retry. If this limit is exceeded the connection error will be re-raised.
  • interval_start – The number of seconds we start sleeping for.
  • interval_step – How many seconds added to the interval for each retry.
  • interval_max – Maximum number of seconds to sleep between each retry.
  • callback – Optional callback that is called for every internal iteration (1 s)
  • callback – Optional callback that is called for every internal iteration (1 s).
ensure(obj, fun, errback=None, max_retries=None, interval_start=1, interval_step=1, interval_max=1, on_revive=None)

Ensure operation completes, regardless of any channel/connection errors occurring.

Will retry by establishing the connection, and reapplying the function.

Parameters:
  • fun – Method to apply.
  • errback – Optional callback called each time the connection can’t be established. Arguments provided are the exception raised and the interval that will be slept (exc, interval).
  • max_retries – Maximum number of times to retry. If this limit is exceeded the connection error will be re-raised.
  • interval_start – The number of seconds we start sleeping for.
  • interval_step – How many seconds added to the interval for each retry.
  • interval_max – Maximum number of seconds to sleep between each retry.

Example

This is an example ensuring a publish operation:

>>> def errback(exc, interval):
...     print("Couldn't publish message: %r. Retry in %ds" % (
...             exc, interval))
>>> publish = conn.ensure(producer, producer.publish,
...                       errback=errback, max_retries=3)
>>> publish(message, routing_key)
create_transport()
get_transport_cls()

Get the currently used transport class.

clone(**kwargs)

Create a copy of the connection with the same connection settings.

info()

Get connection info.

Pool(limit=None, preload=None)

Pool of connections.

See ConnectionPool.

Parameters:
  • limit – Maximum number of active connections. Default is no limit.
  • preload – Number of connections to preload when the pool is created. Default is 0.

Example usage:

>>> pool = connection.Pool(2)
>>> c1 = pool.acquire()
>>> c2 = pool.acquire()
>>> c3 = pool.acquire()
>>> c1.release()
>>> c3 = pool.acquire()
ChannelPool(limit=None, preload=None)

Pool of channels.

See ChannelPool.

Parameters:
  • limit – Maximum number of active channels. Default is no limit.
  • preload – Number of channels to preload when the pool is created. Default is 0.

Example usage:

>>> pool = connection.ChannelPool(2)
>>> c1 = pool.acquire()
>>> c2 = pool.acquire()
>>> c3 = pool.acquire()
>>> c1.release()
>>> c3 = pool.acquire()
SimpleQueue(name, no_ack=None, queue_opts=None, exchange_opts=None, channel=None, **kwargs)

Create new SimpleQueue, using a channel from this connection.

If name is a string, a queue and exchange will be automatically created using that name as the name of the queue and exchange, also it will be used as the default routing key.

Parameters:
  • name – Name of the queue/or a Queue.
  • no_ack – Disable acknowledgements. Default is false.
  • queue_opts – Additional keyword arguments passed to the constructor of the automatically created Queue.
  • exchange_opts – Additional keyword arguments passed to the constructor of the automatically created Exchange.
  • channel – Channel to use. If not specified a new channel from the current connection will be used. Remember to call close() when done with the object.
SimpleBuffer(name, no_ack=None, queue_opts=None, exchange_opts=None, channel=None, **kwargs)

Create new SimpleQueue using a channel from this connection.

Same as SimpleQueue(), but configured with buffering semantics. The resulting queue and exchange will not be durable, also auto delete is enabled. Messages will be transient (not persistent), and acknowledgements are disabled (no_ack).

Pools

See also

The shortcut methods BrokerConnection.Pool() and BrokerConnection.ChannelPool() is the recommended way to instantiate these classes.

class kombu.connection.ConnectionPool(connection, limit=None, preload=None)
LimitExceeded = <class 'kombu.exceptions.ConnectionLimitExceeded'>
acquire(block=False, timeout=None)

Acquire resource.

Parameters:
  • block – If the limit is exceeded, block until there is an available item.
  • timeout – Timeout to wait if block is true. Default is None (forever).
Raises LimitExceeded:
 

if block is false and the limit has been exceeded.

release(resource)
class kombu.connection.ChannelPool(connection, limit=None, preload=None)
LimitExceeded = <class 'kombu.exceptions.ChannelLimitExceeded'>
acquire(block=False, timeout=None)

Acquire resource.

Parameters:
  • block – If the limit is exceeded, block until there is an available item.
  • timeout – Timeout to wait if block is true. Default is None (forever).
Raises LimitExceeded:
 

if block is false and the limit has been exceeded.

release(resource)

Table Of Contents

Previous topic

API Reference

Next topic

kombu.simple

This Page




PK=@:>>> kombu-1.0/_static/searchtools.js/* * searchtools.js_t * ~~~~~~~~~~~~~~~~ * * Sphinx JavaScript utilties for the full-text search. * * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /** * helper function to return a node containing the * search summary for a given text. keywords is a list * of stemmed words, hlwords is the list of normal, unstemmed * words. the first one is used to find the occurance, the * latter for highlighting it. */ jQuery.makeSearchSummary = function(text, keywords, hlwords) { var textLower = text.toLowerCase(); var start = 0; $.each(keywords, function() { var i = textLower.indexOf(this.toLowerCase()); if (i > -1) start = i; }); start = Math.max(start - 120, 0); var excerpt = ((start > 0) ? '...' : '') + $.trim(text.substr(start, 240)) + ((start + 240 - text.length) ? '...' : ''); var rv = $('
').text(excerpt); $.each(hlwords, function() { rv = rv.highlightText(this, 'highlighted'); }); return rv; } /** * Porter Stemmer */ var Stemmer = function() { var step2list = { ational: 'ate', tional: 'tion', enci: 'ence', anci: 'ance', izer: 'ize', bli: 'ble', alli: 'al', entli: 'ent', eli: 'e', ousli: 'ous', ization: 'ize', ation: 'ate', ator: 'ate', alism: 'al', iveness: 'ive', fulness: 'ful', ousness: 'ous', aliti: 'al', iviti: 'ive', biliti: 'ble', logi: 'log' }; var step3list = { icate: 'ic', ative: '', alize: 'al', iciti: 'ic', ical: 'ic', ful: '', ness: '' }; var c = "[^aeiou]"; // consonant var v = "[aeiouy]"; // vowel var C = c + "[^aeiouy]*"; // consonant sequence var V = v + "[aeiou]*"; // vowel sequence var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 var s_v = "^(" + C + ")?" + v; // vowel in stem this.stemWord = function (w) { var stem; var suffix; var firstch; var origword = w; if (w.length < 3) return w; var re; var re2; var re3; var re4; firstch = w.substr(0,1); if (firstch == "y") w = firstch.toUpperCase() + w.substr(1); // Step 1a re = /^(.+?)(ss|i)es$/; re2 = /^(.+?)([^s])s$/; if (re.test(w)) w = w.replace(re,"$1$2"); else if (re2.test(w)) w = w.replace(re2,"$1$2"); // Step 1b re = /^(.+?)eed$/; re2 = /^(.+?)(ed|ing)$/; if (re.test(w)) { var fp = re.exec(w); re = new RegExp(mgr0); if (re.test(fp[1])) { re = /.$/; w = w.replace(re,""); } } else if (re2.test(w)) { var fp = re2.exec(w); stem = fp[1]; re2 = new RegExp(s_v); if (re2.test(stem)) { w = stem; re2 = /(at|bl|iz)$/; re3 = new RegExp("([^aeiouylsz])\\1$"); re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); if (re2.test(w)) w = w + "e"; else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); } else if (re4.test(w)) w = w + "e"; } } // Step 1c re = /^(.+?)y$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(s_v); if (re.test(stem)) w = stem + "i"; } // Step 2 re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; suffix = fp[2]; re = new RegExp(mgr0); if (re.test(stem)) w = stem + step2list[suffix]; } // Step 3 re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; suffix = fp[2]; re = new RegExp(mgr0); if (re.test(stem)) w = stem + step3list[suffix]; } // Step 4 re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; re2 = /^(.+?)(s|t)(ion)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(mgr1); if (re.test(stem)) w = stem; } else if (re2.test(w)) { var fp = re2.exec(w); stem = fp[1] + fp[2]; re2 = new RegExp(mgr1); if (re2.test(stem)) w = stem; } // Step 5 re = /^(.+?)e$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(mgr1); re2 = new RegExp(meq1); re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) w = stem; } re = /ll$/; re2 = new RegExp(mgr1); if (re.test(w) && re2.test(w)) { re = /.$/; w = w.replace(re,""); } // and turn initial Y back to y if (firstch == "y") w = firstch.toLowerCase() + w.substr(1); return w; } } /** * Search Module */ var Search = { _index : null, _queued_query : null, _pulse_status : -1, init : function() { var params = $.getQueryParameters(); if (params.q) { var query = params.q[0]; $('input[name="q"]')[0].value = query; this.performSearch(query); } }, loadIndex : function(url) { $.ajax({type: "GET", url: url, data: null, success: null, dataType: "script", cache: true}); }, setIndex : function(index) { var q; this._index = index; if ((q = this._queued_query) !== null) { this._queued_query = null; Search.query(q); } }, hasIndex : function() { return this._index !== null; }, deferQuery : function(query) { this._queued_query = query; }, stopPulse : function() { this._pulse_status = 0; }, startPulse : function() { if (this._pulse_status >= 0) return; function pulse() { Search._pulse_status = (Search._pulse_status + 1) % 4; var dotString = ''; for (var i = 0; i < Search._pulse_status; i++) dotString += '.'; Search.dots.text(dotString); if (Search._pulse_status > -1) window.setTimeout(pulse, 500); }; pulse(); }, /** * perform a search for something */ performSearch : function(query) { // create the required interface elements this.out = $('#search-results'); this.title = $('

' + _('Searching') + '

').appendTo(this.out); this.dots = $('').appendTo(this.title); this.status = $('

').appendTo(this.out); this.output = $('