|  | @@ -154,6 +154,11 @@ News
 | 
	
		
			
				|  |  |      In addition `retry`, and `retry_policy` keyword arguments have
 | 
	
		
			
				|  |  |      been added to `Task.apply_async`.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    .. note::
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Using the `retry` argument to `apply_async` requires you to
 | 
	
		
			
				|  |  | +        handle the publisher/connection manually.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  * Added support for message compression using the
 | 
	
		
			
				|  |  |    :setting:`CELERY_MESSAGE_COMPRESSION` setting, or the `compression` argument
 | 
	
		
			
				|  |  |    to `apply_async`.  This can also be set using routers.
 | 
	
	
		
			
				|  | @@ -167,9 +172,22 @@ News
 | 
	
		
			
				|  |  |      So far only supported by the AMQP result backend.  Support for memcached
 | 
	
		
			
				|  |  |      and Redis may be added later.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -* `celerybeat`: Now has built-in daemonization support using the `--detach``
 | 
	
		
			
				|  |  | +* Worker process PID is now sent with the task-accepted event.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* The start time reported by the multiprocessing worker process is now used
 | 
	
		
			
				|  |  | +  when calculating task duration for better accuracy.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    Previously the time reported by the accept callback was used.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* `celerybeat`: Now has built-in daemonization support using the `--detach`
 | 
	
		
			
				|  |  |     option.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +* `celeryev`: Now has built-in daemonization support using the `--detach`
 | 
	
		
			
				|  |  | +   option.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* `TaskSet.apply_async`: Now supports custom publishers by using the
 | 
	
		
			
				|  |  | +  `publisher` argument.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  * Added :setting:`CELERY_SEND_TASK_SENT_EVENT` setting.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      If enabled an event will be sent out with every task, so monitors can
 | 
	
	
		
			
				|  | @@ -184,6 +202,75 @@ News
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          $ celeryd --config=celeryconfig.py --loader=myloader.Loader
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +* Added signals: `beat_init` and `beat_embedded_init`
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    * :data:`celery.signals.beat_init`
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Dispatched when :program:`celerybeat` starts (either standalone or
 | 
	
		
			
				|  |  | +        embedded).  Sender is the :class:`celery.beat.Service` instance.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    * :data:`celery.signals.beat_embedded_init`
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Dispatched in addition to the :data:`beat_init` signal when
 | 
	
		
			
				|  |  | +        :program:`celerybeat` is started as an embedded process.  Sender
 | 
	
		
			
				|  |  | +        is the :class:`celery.beat.Service` instance.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +v220-fixes:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Fixes
 | 
	
		
			
				|  |  | +-----
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* AMQP Backend: Exceptions occurring while sending task results are now
 | 
	
		
			
				|  |  | +  propagated instead of silenced.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    `celeryd` will then show the full traceback of these errors in the log.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* AMQP Backend: No longer deletes the result queue after successful
 | 
	
		
			
				|  |  | +  poll, as this should be handled by the
 | 
	
		
			
				|  |  | +  :setting:`CELERY_AMQP_TASK_RESULT_EXPIRES` setting instead.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* Windows: celeryd: Show error if running with `-B` option.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    Running celerybeat embedded is known not to work on Windows, so
 | 
	
		
			
				|  |  | +    users are encouraged to run celerybeat as a separate service instead.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* Windows: Utilities no longer output ANSI color codes on Windows
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* camqadm: Now properly handles Ctrl+C by simply exiting instead of showing
 | 
	
		
			
				|  |  | +  confusing traceback.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* Windows: All tests are now passing on Windows.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* Remove bin/ directory, and `scripts` section from setup.py.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    This means we now rely completely on setuptools entrypoints.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.. v220-experimental:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Experimental
 | 
	
		
			
				|  |  | +------------
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* :class:`PublisherPool`: Experimental pool of task publishers and
 | 
	
		
			
				|  |  | +  connections to be used with the `retry` argument to `apply_async`.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  The example code below will re-use connections and channels, and
 | 
	
		
			
				|  |  | +  retry sending of the task message if the connection is lost.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .. code-block:: python
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    from celery import current_app
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    # Global pool
 | 
	
		
			
				|  |  | +    pool = current_app().amqp.PublisherPool(limit=10)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def my_view(request):
 | 
	
		
			
				|  |  | +        with pool.acquire() as publisher:
 | 
	
		
			
				|  |  | +            add.apply_async((2, 2), publisher=publisher, retry=True)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  .. _version-2.1.4:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  2.1.4
 |