|  | @@ -58,25 +58,117 @@ Celery now requires Python 2.7 or later.
 | 
											
												
													
														|  |  JSON is now the default serializer
 |  |  JSON is now the default serializer
 | 
											
												
													
														|  |  ----------------------------------
 |  |  ----------------------------------
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +Using one logfile per process by default
 | 
											
												
													
														|  | 
 |  | +----------------------------------------
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +The Task base class no longer automatically register tasks
 | 
											
												
													
														|  | 
 |  | +----------------------------------------------------------
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +The metaclass has been removed blah blah
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Arguments now verified when calling a task
 | 
											
												
													
														|  | 
 |  | +------------------------------------------
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  .. _v320-news:
 |  |  .. _v320-news:
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  News
 |  |  News
 | 
											
												
													
														|  |  ====
 |  |  ====
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -Item 1
 |  | 
 | 
											
												
													
														|  | -------
 |  | 
 | 
											
												
													
														|  | 
 |  | +New Task Message Protocol
 | 
											
												
													
														|  | 
 |  | +=========================
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +``TaskProducer`` replaced by ``app.amqp.create_task_message`` and
 | 
											
												
													
														|  | 
 |  | +``app.amqp.send_task_message``.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- Worker stores results for internal errors like ``ContentDisallowed``, and
 | 
											
												
													
														|  | 
 |  | +  exceptions occurring outside of the task function.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Canvas Refactor
 | 
											
												
													
														|  | 
 |  | +===============
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Riak Result Backend
 | 
											
												
													
														|  | 
 |  | +===================
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Contributed by Gilles Dartiguelongue, Alman One and NoKriK.
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  Bla bla
 |  |  Bla bla
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  - blah blah
 |  |  - blah blah
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Event Batching
 | 
											
												
													
														|  | 
 |  | +==============
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Events are now buffered in the worker and sent as a list
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Task.replace
 | 
											
												
													
														|  | 
 |  | +============
 | 
											
												
													
														|  | 
 |  | + Task.replace changed, removes Task.replace_in_chord.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    The two methods had almost the same functionality, but the old Task.replace
 | 
											
												
													
														|  | 
 |  | +    would force the new task to inherit the callbacks/errbacks of the existing
 | 
											
												
													
														|  | 
 |  | +    task.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    If you replace a node in a tree, then you would not expect the new node to
 | 
											
												
													
														|  | 
 |  | +    inherit the children of the old node, so this seems like unexpected
 | 
											
												
													
														|  | 
 |  | +    behavior.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    So self.replace(sig) now works for any task, in addition sig can now
 | 
											
												
													
														|  | 
 |  | +    be a group.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    Groups are automatically converted to a chord, where the callback
 | 
											
												
													
														|  | 
 |  | +    will "accumulate" the results of the group tasks.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    A new builtin task (`celery.accumulate` was added for this purpose)
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    Closes #81
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +Optimized Beat implementation
 | 
											
												
													
														|  | 
 |  | +=============================
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  In Other News
 |  |  In Other News
 | 
											
												
													
														|  |  -------------
 |  |  -------------
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -- Now depends on :ref:`Kombu 3.1 <kombu:version-3.1.0>`.
 |  | 
 | 
											
												
													
														|  | 
 |  | +- **Requirements**:
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    - Now depends on :ref:`Kombu 3.1 <kombu:version-3.1.0>`.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    - Now depends on :mod:`billiard` version 3.4.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    - No longer depends on ``anyjson`` :sadface:
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- **Programs**: ``%n`` format for :program:`celery multi` is now synonym with
 | 
											
												
													
														|  | 
 |  | +  ``%N`` to be consistent with :program:`celery worker`.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- **Programs**: celery inspect/control now supports --json argument
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -- Now depends on :mod:`billiard` version 3.4.
 |  | 
 | 
											
												
													
														|  | 
 |  | +- **Programs**: :program:`celery logtool`: Utility for filtering and parsing celery worker logfiles
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- **Worker**: Gossip now sets ``x-message-ttl`` for event queue to heartbeat_interval s.
 | 
											
												
													
														|  | 
 |  | +  (Iss ue #2005).
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- **App**: New signals
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    - :data:`app.on_configure <@on_configure>`
 | 
											
												
													
														|  | 
 |  | +    - :data:`app.on_after_configure <@on_after_configure>`
 | 
											
												
													
														|  | 
 |  | +    - :data:`app.on_after_finalize <@on_after_finalize>`
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- **Canvas**: ``chunks``/``map``/``starmap`` are now routed based on the target task.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- Apps can now define how tasks are named (:meth:`@gen_task_name`).
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    Contributed by Dmitry Malinovsky
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- Module ``celery.worker.job`` renamed to :mod:`celery.worker.request`.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- Beat: ``Scheduler.Publisher``/``.publisher`` renamed to
 | 
											
												
													
														|  | 
 |  | +  ``.Producer``/``.producer``.
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  .. _v320-removals:
 |  |  .. _v320-removals:
 | 
											
										
											
												
													
														|  | @@ -84,6 +176,11 @@ In Other News
 | 
											
												
													
														|  |  Scheduled Removals
 |  |  Scheduled Removals
 | 
											
												
													
														|  |  ==================
 |  |  ==================
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +- The module ``celery.task.trace`` has been removed as scheduled for this
 | 
											
												
													
														|  | 
 |  | +  version.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +- Magic keyword arguments no longer supported.
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  .. _v320-deprecations:
 |  |  .. _v320-deprecations:
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  Deprecations
 |  |  Deprecations
 |