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:
RevisionActionfile
1.14modifywip/celery/Makefile
1.6modifywip/celery/distinfo