Changelog History
Page 14
-
v1.3.3 Changes
๐ :release-date: 2011-09-15 02:00 P.M BST ๐ :release-by: Ask Solem
- ๐ pools.reset did not support after forker arguments.
.. _version-1.3.2:
-
v1.3.2 Changes
๐ :release-date: 2011-09-10 01:00 P.M BST ๐ :release-by: Mher Movsisyan
๐ Broke Python 2.5 compatibility by importing
parse_qsl
fromurlparse
0๏ธโฃ 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.
.. _version-1.3.1:
-
v1.3.1 Changes
๐ :release-date: 2011-10-07 03:00 P.M BST ๐ :release-by: Ask Solem
๐ Last release broke after fork for pool reinitialization.
Producer/Consumer now has a
connection
attribute, giving access to the :class:Connection
of the instance.Pika: Channels now have access to the underlying :class:
Connection
instance usingchannel.connection.client
.This was previously required by the
Simple
classes and is now also required by :class:Consumer
and :class:Producer
.0๏ธโฃ Connection.default_channel is now closed at object revival.
โ Adds kombu.clocks.LamportClock.
compat.entry_to_queue has been moved to new module :mod:
kombu.common
.
.. _version-1.3.0:
-
v1.3.0 Changes
๐ :release-date: 2011-10-05 01:00 P.M BST ๐ :release-by: Ask Solem
Broker connection info can be now be specified using URLs
The broker hostname can now be given as a URL instead, of the format:
.. code-block:: text
transport://user:password@hostname:port/virtual_host
for example the default broker is expressed as:
.. code-block:: pycon
>>> Connection('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:: .. code-block:: text amqp://guest:guest@localhost:5672// and a virtual host of '' (empty) becomes: .. code-block:: text amqp://guest:guest@localhost:5672/ So the leading slash in the path component is **always required**.
0๏ธโฃ Now comes with default global connection and producer pools.
The acquire a connection using the connection parameters from a :class:
Connection
:.. code-block:: pycon
>>> from kombu import Connection, connections >>> connection = Connection('amqp://guest:guest@localhost//') >>> with connections[connection].acquire(block=True): ... # do something with connection
To acquire a producer using the connection parameters from a :class:
Connection
:.. code-block:: pycon
>>> from kombu import Connection, producers >>> connection = Connection('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:
.. code-block:: pycon
>>> from kombu import pools >>> pools.set_limit(10)
The pool can also be forcefully closed by doing:
.. code-block:: pycon
>>> from kombu import pools >>> pool.reset()
0๏ธโฃ SQS Transport: Persistence using SimpleDB is now disabled by default, after reports of unstable SimpleDB connections leading to errors.
:class:
Producer
can now be used as a context manager.Producer.__exit__
now properly callsrelease
instead of close.The previous behavior would lead to a memory leak when using the :class:
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 theamqplib
transport.0๏ธโฃ
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 :class:Exchange
instance.๐
compat.Publisher
now supports thechannel
keyword argument.Acking a message on some transports could lead to :exc:
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 argumentinclude_password
is set.Virtual transports now comes with a default
default_connection_params
attribute.
.. _version-1.2.1:
-
v1.2.1 Changes
๐ :release-date: 2011-07-29 12:52 P.M BST ๐ :release-by: Ask Solem
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).
Connection.autoretry
is a version ofensure
that works with arbitrary functions (i.e. it does not need an associated object that implements therevive
method.
Example usage:
.. code-block:: python
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.
๐
Connection.ensure
now supports anon_revive
callback that is applied whenever the connection is re-established.Consumer.consuming_from(queue)
returns True if the Consumer is consuming fromqueue
.Consumer.cancel_by_queue
did not remove the queue fromqueues
.compat.ConsumerSet.add_queue_from_dict
now automatically declared the queue ifauto_declare
set.
.. _version-1.2.0:
-
v1.2.0 Changes
๐ :release-date: 2011-07-15 12:00 P.M BST ๐ :release-by: Ask Solem
๐ 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
0๏ธโฃ Now properly reports default values in Connection.info/.as_uri
.. _version-1.1.6:
-
v1.1.6 Changes
๐ :release-date: 2011-06-13 04:00 P.M BST ๐ :release-by: Ask Solem
๐ 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:>>> Connection(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.0๏ธโฃ amqplib: Now uses
localhost
as default hostname instead of raising an error.
.. _version-1.1.5:
-
v1.1.5 Changes
๐ :release-date: 2011-06-07 06:00 P.M BST ๐ :release-by: Ask Solem
- ๐ Fixes compatibility with redis-py 2.4.4.
.. _version-1.1.4:
-
v1.1.4 Changes
๐ :release-date: 2011-06-07 04:00 P.M BST ๐ :release-by: Ask Solem
Redis transport: Now requires redis-py version 2.4.4 or later.
๐ New Amazon SQS transport added.
Usage:
>>> conn = Connection(transport='SQS', ... userid=aws_access_key_id, ... password=aws_secret_access_key)
The environment variables :envvar:
AWS_ACCESS_KEY_ID
and :envvar:AWS_SECRET_ACCESS_KEY
are also supported.0๏ธโฃ librabbitmq transport: Fixes default credentials support.
๐ amqplib transport: Now supports
login_method
for SSL auth.:class:
Connection
now supports thelogin_method
keyword argument.Default
login_method
isAMQPLAIN
.
.. _version-1.1.3:
-
v1.1.3 Changes
๐ :release-date: 2011-04-21 04:00 P.M CEST ๐ :release-by: Ask Solem
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 canceling 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 (:attr:Connection.connection_errors
).โฑ amqplib: Now converts :exc:
SSLError
timeout errors to :exc:socket.timeout
(http://bugs.python.org/issue10272)Ensures cyclic references are destroyed when the connection is closed.
.. _version-1.1.2: