| 
					
				 | 
			
			
				@@ -5,6 +5,387 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .. contents:: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     :local: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. _version-2.4.1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+2.4.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+===== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:release-date: 2011-11-07 06:00 P.M GMT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:by: Ask Solem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* celeryctl inspect commands was missing output. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* processes pool: Decrease polling interval for less idle CPU usage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* processes pool: MaybeEncodingError was not wrapped in ExceptionInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (Issue #524). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* celeryd: would silence errors occuring after task consumer started. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* logging: Fixed a bug where unicode in stdout redirected log messages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  couldn't be written (Issue #522). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. _version-2.4.0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+2.4.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+===== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:release-date: 2011-11-04 04:00 P.M GMT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:by: Ask Solem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. _v240-important: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Important Notes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+--------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Now supports Python 3. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Fixed deadlock in worker process handling (Issue #496). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    A deadlock could occur after spawning new child processes because 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    the logging library's mutex was not properly reset after fork. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The symptoms of this bug affecting would be that the worker simply 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    stops processing tasks, as none of the workers child processes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    are functioning.  There was a greater chance of this bug occurring 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    with ``maxtasksperchild`` or a time-limit enabled. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    This is a workaround for http://bugs.python.org/issue6721#msg140215. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Be aware that while this fixes the logging library lock, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    there could still be other locks initialized in the parent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    process, introduced by custom code. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Fix contributed by Harm Verhagen. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* AMQP Result backend: Now expires results by default. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The default expiration value is now taken from the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :setting:`CELERY_TASK_RESULT_EXPIRES` setting. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The old :setting:`CELERY_AMQP_TASK_RESULT_EXPIRES` setting has been 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deprecated and will be removed in version 3.0. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Note that this means that the result backend requires RabbitMQ 1.1.0 or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    higher, and that you have to disable expiration if you are running 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    with an older version.  You can do so by disabling the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :setting:`CELERY_TASK_RESULT_EXPIRES` setting:: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CELERY_TASK_RESULT_EXPIRES = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Eventlet: Fixed problem with shutdown (Issue #457). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Broker transports can be now be specified using URLs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The broker can now be specified as an URL instead. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    This URL must have the format:: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        transport://user:password@hostname:port/virtual_host 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for example the default broker is written as:: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        amqp://guest:guest@localhost:5672// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The scheme is required, so that the host is identified 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    as an URL and not just a host name. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    User, password, port and virtual_host are optional and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    defaults to the particular transports default value. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .. 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: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            amqp://guest:guest@localhost:5672// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        and a virtual host of ``''`` (empty) becomes:: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            amqp://guest:guest@localhost:5672/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        So the leading slash in the path component is **always required**. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    In addition the :setting:`BROKER_URL` setting has been added as an alias 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    to ``BROKER_HOST``.  Any broker setting specified in both the URL and in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    the configuration will be ignored, if a setting is not provided in the URL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    then the value from the configuration will be used as default. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Also, programs now support the :option:`-b|--broker` option to specify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    a broker URL on the command line:: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $ celeryd -b redis://localhost 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $ celeryctl -b amqp://guest:guest@localhost//e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The environment variable :envvar:`CELERY_BROKER_URL` can also be used to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    easily override the default broker used. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* The deprecated :func:`celery.loaders.setup_loader` function has been removed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* The :setting:`CELERY_TASK_ERROR_WHITELIST` setting has been replaced 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  by a more flexible approach (Issue #447). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The error mail sending logic is now available as ``Task.ErrorMail``, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    with the implementation (for reference) in :mod:`celery.utils.mail`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The error mail class can be sub-classed to gain complete control 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    of when error messages are sent, thus removing the need for a separate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    white-list setting. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The :setting:`CELERY_TASK_ERROR_WHITELIST` setting has been deprecated, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    and will be removed completely in version 3.0. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Additional Deprecations 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The following functions has been deprecated and is scheduled for removal in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    version 3.0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    =====================================  =================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    **Old function**                       **Alternative** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    =====================================  =================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `celery.loaders.current_loader`        `celery.current_app.loader` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `celery.loaders.load_settings`         `celery.current_app.conf` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `celery.execute.apply`                 `Task.apply` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `celery.execute.apply_async`           `Task.apply_async` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `celery.execute.delay_task`            `celery.execute.send_task` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    =====================================  =================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The following settings has been deprecated and is scheduled for removal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    in version 3.0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    =====================================  =================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    **Old setting**                        **Alternative** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    =====================================  =================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `CELERYD_LOG_LEVEL`                    ``celeryd --loglevel=`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `CELERYD_LOG_FILE`                     ``celeryd --logfile=`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `CELERYBEAT_LOG_LEVEL`                 ``celerybeat --loglevel=`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `CELERYBEAT_LOG_FILE`                  ``celerybeat --logfile=`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `CELERYMON_LOG_LEVEL`                  ``celerymon --loglevel=`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    `CELERYMON_LOG_FILE`                   ``celerymon --logfile=`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    =====================================  =================================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. _v240-news: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+News 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+---- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* No longer depends on :mod:`pyparsing`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Now depends on Kombu 1.4.3. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* CELERY_IMPORTS can now be a scalar value (Issue #485). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    It is too easy to forget to add the comma after the sole element of a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tuple, and this is something that often affects newcomers. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The docs should probably use a list in examples, as using a tuple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for this doesn't even make sense.  Nonetheless, there are many 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tutorials out there using a tuple, and this change should be a help 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    to new users. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Suggested by jsaxon-cars. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Fixed a memory leak when using the thread pool (Issue #486). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Kornelijus Survila. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* The statedb was not saved at exit. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    This has now been fixed and it should again remember previously 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    revoked tasks when a ``--statedb`` is enabled. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Adds :setting:`EMAIL_USE_TLS` to enable secure SMTP connections 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (Issue #418). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Stefan Kjartansson. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Now handles missing fields in task messages as documented in the message 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  format documentation. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    * Missing required field throws :exc:`InvalidTaskError` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    * Missing args/kwargs is assumed empty. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Chris Chamberlin. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Fixed race condition in celery.events.state (celerymon/celeryev) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  where task info would be removed while iterating over it (Issue #501). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* The Cache, Cassandra, MongoDB, Redis and Tyrant backends now respects 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  the :setting:`CELERY_RESULT_SERIALIZER` setting (Issue #435). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    This means that only the database (django/sqlalchemy) backends 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    currently does not support using custom serializers. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Steeve Morin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Logging calls no longer manually formats messages, but delegates 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  that to the logging system, so tools like Sentry can easier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  work with the messages (Issue #445). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Chris Adams. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* ``celeryd_multi`` now supports a ``stop_verify`` command to wait for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  processes to shutdown. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Cache backend did not work if the cache key was unicode (Issue #504). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Fix contributed by Neil Chintomby. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* New setting :setting:`CELERY_RESULT_DB_SHORT_LIVED_SESSIONS` added, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  which if enabled will disable the caching of SQLAlchemy sessions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (Issue #449). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Leo Dirac. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* All result backends now implements ``__reduce__`` so that they can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  be pickled (Issue #441). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Fix contributed by Remy Noel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* celeryd-multi did not work on Windows (Issue #472). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* New-style ``CELERY_REDIS_*`` settings now takes precedence over 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  the old ``REDIS_*`` configuration keys (Issue #508). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Fix contributed by Joshua Ginsberg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Generic celerybeat init script no longer sets `bash -e` (Issue #510). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Fix contributed by Roger Hu. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Documented that Chords do not work well with redis-server versions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  before 2.2. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Dan McGee. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* The :setting:`CELERYBEAT_MAX_LOOP_INTERVAL` setting was not respected. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* ``inspect.registered_tasks`` renamed to ``inspect.registered`` for naming 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  consistency. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The previous name is still available as an alias. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Mher Movsisyan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Worker logged the string representation of args and kwargs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  without safe guards (Issue #480). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* RHEL init script: Changed celeryd startup priority. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    The default start / stop priorities for MySQL on RHEL are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # chkconfig: - 64 36 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Therefore, if Celery is using a database as a broker / message store, it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    should be started after the database is up and running, otherwise errors 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    will ensue. This commit changes the priority in the init script to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # chkconfig: - 85 15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    which are the default recommended settings for 3-rd party applications 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    and assure that Celery will be started after the database service & shut 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    down before it terminates. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Contributed by Yury V. Zaytsev. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* KeyValueStoreBackend.get_many did not respect the ``timeout`` argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (Issue #512). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* celerybeat/celeryev's --workdir option did not chdir before after 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  configuration was attempted (Issue #506). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* After deprecating 2.4 support we can now name modules correctly, since we 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  can take use of absolute imports. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Therefore the following internal modules have been renamed: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        celery.concurrency.evlet    -> celery.concurrency.eventlet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        celery.concurrency.evg      -> celery.concurrency.gevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* AUTHORS file is now sorted alphabetically. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Also, as you may have noticed the contributors of new features/fixes are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    now mentioned in the Changelog. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. _version-2.3.3: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+2.3.3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+===== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:release-date: 2011-16-09 05:00 P.M BST 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:by: Mher Movsisyan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Monkey patching :attr:`sys.stdout` could result in the worker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  crashing if the replacing object did not define :meth:`isatty` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (Issue #477). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* ``CELERYD`` option in :file:`/etc/default/celeryd` should not 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  be used with generic init scripts. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. _version-2.3.2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+2.3.2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+===== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+:release-date: 2011-10-07 05:00 P.M BST 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. _v232-news: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+News 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+---- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Improved Contributing guide. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    If you'd like to contribute to Celery you should read this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    guide: http://ask.github.com/celery/contributing.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    We are looking for contributors at all skill levels, so don't 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    hesitate! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Now depends on Kombu 1.3.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* ``Task.request`` now contains the current worker host name (Issue #460). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Available as ``task.request.hostname``. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* It is now easier for app subclasses to extend how they are pickled. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (see :class:`celery.app.AppPickler`). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.. _v232-fixes: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+----- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* `purge/discard_all` was not working correctly (Issue #455). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* The coloring of log messages didn't handle non-ASCII data well 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (Issue #427). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* [Windows] the multiprocessing pool tried to import ``os.kill`` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  even though this is not available there (Issue #450). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Fixes case where the worker could become unresponsive because of tasks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  exceeding the hard time limit. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* The ``task-sent`` event was missing from the event reference. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* ``ResultSet.iterate`` now returns results as they finish (Issue #459). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    This was not the case previously, even though the documentation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    states this was the expected behavior. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Retries will no longer be performed when tasks are called directly 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  (using ``__call__``). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   Instead the exception passed to ``retry`` will be re-raised. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Eventlet no longer crashes if autoscale is enabled. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    growing and shrinking eventlet pools is still not supported. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* py24 target removed from :file:`tox.ini`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .. _version-2.3.1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 2.3.1 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1436,7 +1817,7 @@ News 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     :class:`~celery.task.control.inspect`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Example using celeryctl to start consuming from queue "queue", in  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Example using celeryctl to start consuming from queue "queue", in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     exchange "exchange", of type "direct" using binding key "key":: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $ celeryctl inspect add_consumer queue exchange direct key 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3359,7 +3740,7 @@ Fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   by rounding to the nearest day/hour. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Fixed a potential infinite loop in `BaseAsyncResult.__eq__`, although 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  there is no evidence that it has ever been triggered.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  there is no evidence that it has ever been triggered. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * celeryd: Now handles messages with encoding problems by acking them and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   emitting an error message. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3422,7 +3803,7 @@ Fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Execution: `.messaging.TaskPublisher.send_task` now 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   incorporates all the functionality apply_async previously did. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Like converting countdowns to eta, so :func:`celery.execute.apply_async` is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     now simply a convenient front-end to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     :meth:`celery.messaging.TaskPublisher.send_task`, using 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3479,7 +3860,7 @@ Fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     is revoked even though it's currently being hold because its eta is e.g. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     a week into the future. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* The `task_id` argument is now respected even if the task is executed  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* The `task_id` argument is now respected even if the task is executed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   eagerly (either using apply, or :setting:`CELERY_ALWAYS_EAGER`). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * The internal queues are now cleared if the connection is reset. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3751,7 +4132,7 @@ News 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ...                   ([8, 8], {}, {"countdown": 3})]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     >>> ts.run() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Got a 3x performance gain by setting the prefetch count to four times the  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Got a 3x performance gain by setting the prefetch count to four times the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   concurrency, (from an average task round-trip of 0.1s to 0.03s!). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     A new setting has been added: :setting:`CELERYD_PREFETCH_MULTIPLIER`, which 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3888,7 +4269,7 @@ Documentation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 :release-date: 2009-11-20 03:40 P.M CEST 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * QOS Prefetch count was not applied properly, as it was set for every message 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  received (which apparently behaves like, "receive one more"), instead of only  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  received (which apparently behaves like, "receive one more"), instead of only 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   set when our wanted value changed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .. _version-0.8.1: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4065,7 +4446,7 @@ Important changes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Support for multiple AMQP exchanges and queues. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    This feature misses documentation and tests, so anyone interested  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    This feature misses documentation and tests, so anyone interested 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     is encouraged to improve this situation. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * celeryd now survives a restart of the AMQP server! 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4188,7 +4569,7 @@ News 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Functions/methods with a timeout argument now works correctly. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* New: `celery.strategy.even_time_distribution`:  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* New: `celery.strategy.even_time_distribution`: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     With an iterator yielding task args, kwargs tuples, evenly distribute 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     the processing of its tasks throughout the time window available. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4351,7 +4732,7 @@ News 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 *  Only use README as long_description if the file exists so easy_install 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    doesn't break. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* `celery.view`: JSON responses now properly set its mime-type.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* `celery.view`: JSON responses now properly set its mime-type. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * `apply_async` now has a `connection` keyword argument so you 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   can re-use the same AMQP connection if you want to execute 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4537,7 +4918,7 @@ arguments, so be sure to flush your task queue before you upgrade. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   version to 0.2. This is a pre-release. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * `celery.task.mark_as_read()` and `celery.task.mark_as_failure()` has 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  been removed. Use `celery.backends.default_backend.mark_as_read()`,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  been removed. Use `celery.backends.default_backend.mark_as_read()`, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   and `celery.backends.default_backend.mark_as_failure()` instead. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .. _version-0.1.15: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4594,7 +4975,7 @@ arguments, so be sure to flush your task queue before you upgrade. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   happened.  It kind of works like the `multiprocessing.AsyncResult` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   class returned by `multiprocessing.Pool.map_async`. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-* Added dmap() and dmap_async(). This works like the  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Added dmap() and dmap_async(). This works like the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   `multiprocessing.Pool` versions except they are tasks 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   distributed to the celery server. Example: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |