SHA256
1
0
forked from pool/python-kombu

- Update to 2.5.3:

- Pidbox: Fixed compatibility with Python 2.6
- Aditional changes from 2.5.2:
  - [Redis] Fixed connection leak and added a new 'max_connections'
    transport option.
- Aditional changes from 2.5.1
  - Fixed bug where return value of Queue.as_dict could not be
    serialized with JSON (Issue #177).
- Aditional changes from 2.5.0
  - py-amqp is now the new default transport, replacing amqplib.
    The new py-amqp library is a fork of amqplib started with the
    following goals:
        - Uses AMQP 0.9.1 instead of 0.8
        - Support for heartbeats (Issue #79 + Issue #131)
        - Automatically revives channels on channel errors.
        - Support for all RabbitMQ extensions
            - Consumer Cancel Notifications (Issue #131)
            - Publisher Confirms (Issue #131).
            - Exchange-to-exchange bindings: exchange_bind /
              exchange_unbind.
        - API compatible with librabbitmq so that it can be used
          as a pure-python replacement in environments where rabbitmq-c
          cannot be compiled. librabbitmq will be updated to support
          all the same features as py-amqp.
  - Support for using multiple connection URL's for failover.
    The first argument to kombu.Connection can now be a list of connection
    URLs:
        Connection(['amqp://foo', 'amqp://bar'])
    or it can be a single string argument with several URLs separated by
    semicolon:

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-kombu?expand=0&rev=60
This commit is contained in:
Alexandre Rogoski
2012-12-05 05:07:13 +00:00
committed by Git OBS Bridge
parent 548315a1cb
commit 0b033a1673
4 changed files with 103 additions and 5 deletions

View File

@@ -1,3 +1,101 @@
-------------------------------------------------------------------
Wed Dec 5 04:48:02 UTC 2012 - alexandre@exatati.com.br
- Update to 2.5.3:
- Pidbox: Fixed compatibility with Python 2.6
- Aditional changes from 2.5.2:
- [Redis] Fixed connection leak and added a new 'max_connections'
transport option.
- Aditional changes from 2.5.1
- Fixed bug where return value of Queue.as_dict could not be
serialized with JSON (Issue #177).
- Aditional changes from 2.5.0
- py-amqp is now the new default transport, replacing amqplib.
The new py-amqp library is a fork of amqplib started with the
following goals:
- Uses AMQP 0.9.1 instead of 0.8
- Support for heartbeats (Issue #79 + Issue #131)
- Automatically revives channels on channel errors.
- Support for all RabbitMQ extensions
- Consumer Cancel Notifications (Issue #131)
- Publisher Confirms (Issue #131).
- Exchange-to-exchange bindings: exchange_bind /
exchange_unbind.
- API compatible with librabbitmq so that it can be used
as a pure-python replacement in environments where rabbitmq-c
cannot be compiled. librabbitmq will be updated to support
all the same features as py-amqp.
- Support for using multiple connection URL's for failover.
The first argument to kombu.Connection can now be a list of connection
URLs:
Connection(['amqp://foo', 'amqp://bar'])
or it can be a single string argument with several URLs separated by
semicolon:
Connection('amqp://foo;amqp://bar')
There is also a new keyword argument failover_strategy that defines
how kombu.Connection.ensure_connection, kombu.Connection.ensure,
kombu.Connection.autoretry will reconnect in the event of connection
failures.
The default reconnection strategy is round-robin, which will simply
cycle through the list forever, and there's also a shuffle strategy
that will select random hosts from the list. Custom strategies can also
be used, in that case the argument must be a generator yielding the URL
to connect to.
Example:
Connection('amqp://foo;amqp://bar')
- Now supports PyDev, PyCharm, pylint and other static code analysis tools.
- kombu.Queue now supports multiple bindings.
You can now have multiple bindings in the same queue by having
the second argument be a list:
from kombu import binding, Queue
Queue('name', [
binding(Exchange('E1'), routing_key='foo'),
binding(Exchange('E1'), routing_key='bar'),
binding(Exchange('E2'), routing_key='baz'),
])
To enable this, helper methods have been added:
- kombu.Queue.bind_to
- kombu.Queue.unbind_from
Contributed by Rumyana Neykova.
- Custom serializers can now be registered using Setuptools entry-points.
See serialization-entrypoints.
- New kombu.common.QoS class used as a thread-safe way to manage
changes to a consumer or channels prefetch_count.
This was previously an internal class used in Celery now moved to
the kombu.common module.
- Consumer now supports a on_message callback that can be used to process
raw messages (not decoded).
Other callbacks specified using the callbacks argument, and the
receive` method will be not be called when a on message callback is
present.
- New utility kombu.common.ignore_errors ignores connection and
channel errors.
Must only be used for cleanup actions at shutdown or on connection loss.
- Support for exchange-to-exchange bindings.
The kombu.Exchange entity gained bind_to
and unbind_from methods:
e1 = Exchange('A')(connection)
e2 = Exchange('B')(connection)
e2.bind_to(e1, routing_key='rkey', arguments=None)
e2.unbind_from(e1, routing_key='rkey', arguments=None)
This is currently only supported by the pyamqp transport.
Contributed by Rumyana Neykova.
-------------------------------------------------------------------
Sat Dec 1 21:56:00 UTC 2012 - toddrme2178@gmail.com