Path to this page:
Subject: CVS commit: wip/celery
From: othyro
Date: 2014-04-07 06:07:45
Message id: E1WX0qp-0003Gs-EY@sfs-ml-4.v29.ch3.sourceforge.com
Log Message:
Updated to latest release, 3.1.10. From Changelog:
- **Redis:** Important note about events (Issue #1882).
There is a new transport option for Redis that enables monitors
to filter out unwanted events. Enabling this option in the workers
will increase performance considerably:
.. code-block:: python
BROKER_TRANSPORT_OPTIONS = {'fanout_patterns': True}
Enabling this option means that your workers will not be able to see
workers with the option disabled (or is running an older version of
Celery), so if you do enable it then make sure you do so on all
nodes.
- **Results**: The :class:`@AsyncResult` object now keeps a local cache
of the final state of the task.
This means that the global result cache can finally be disabled,
and you can do so by setting :setting:`CELERY_MAX_CACHED_RESULTS` to
:const:`-1`. The lifetime of the cache will then be bound to the
lifetime of the result object, which will be the default behavior
in Celery 3.2.
- **Events**: The "Substantial drift" warning message is now logged once
per node name only (Issue #1802).
- **Worker**: Ability to use one log file per child process when using the
prefork pool.
This can be enabled by using the new ``%i`` and ``%I`` format specifiers
for the log file name. See :ref:`worker-files-process-index`.
- **Redis**: New experimental chord join implementation.
This is an optimization for chords when using the Redis result backend,
where the join operation is now considerably faster and using less
resources than the previous strategy.
The new option can be set in the result backend URL:
CELERY_RESULT_BACKEND = 'redis://localhost?new_join=1'
This must be enabled manually as it's incompatible
with workers and clients not using it, so be sure to enable
the option in all clients and workers if you decide to use it.
- **Multi**: With ``-opt:index`` (e.g. :option:`-c:1`) the index now always refers
to the position of a node in the argument list.
This means that referring to a number will work when specifying a list
of node names and not just for a number range:
.. code-block:: bash
celery multi start A B C D -c:1 4 -c:2-4 8
In this example ``1`` refers to node A (as it's the first node in the
list).
- **Signals**: The sender argument to ``Signal.connect`` can now be a proxy
object, which means that it can be used with the task decorator
(Issue #1873).
- **Task**: A regression caused the ``queue`` argument to ``Task.retry`` to be
ignored (Issue #1892).
- **App**: Fixed error message for :meth:`~@Celery.config_from_envvar`.
- **Canvas**: Chords can now contain a group of other chords (Issue #1921).
- **Canvas**: Chords can now be combined when using the amqp result backend
(a chord where the callback is also a chord).
- **Canvas**: Calling ``result.get()`` for a chain task will now complete
even if one of the tasks in the chain is ``ignore_result=True``
(Issue #1905).
- **Canvas**: Worker now also logs chord errors.
- **Canvas**: A chord task raising an exception will now result in
any errbacks (``link_error``) to the chord callback to also be called.
- **Results**: Reliability improvements to the SQLAlchemy database backend
(Issue #1786).
Previously the connection from the ``MainProcess`` was improperly
inherited by child processes.
- **Task**: Task callbacks and errbacks are now called using the group
primitive.
- **Task**: ``Task.apply`` now properly sets ``request.headers``
(Issue #1874).
- **Worker**: Fixed ``UnicodeEncodeError`` occuring when worker is started
by `supervisord`.
- **Beat**: No longer attempts to upgrade a newly created database file
(Issue #1923).
- **Beat**: New setting :setting:``CELERYBEAT_SYNC_EVERY`` can be be used
to control file sync by specifying the number of tasks to send between
each sync.
- **Commands**: :program:`celery inspect memdump` no longer crashes
if the :mod:`psutil` module is not installed (Issue #1914).
- **Worker**: Remote control commands now always accepts json serialized
messages (Issue #1870).
- **Worker**: Gossip will now drop any task related events it receives
by mistake (Issue #1882).
Files: