Browse Source

Updates 2.5 whatsnew document

Ask Solem 13 years ago
parent
commit
b1a59aa71b
1 changed files with 67 additions and 0 deletions
  1. 67 0
      docs/whatsnew-2.5.rst

+ 67 - 0
docs/whatsnew-2.5.rst

@@ -99,6 +99,37 @@ Optimizations
 
 .. _`pylibrabbitmq`: http://pypi.python.org/pylibrabbitmq/
 
+.. _v250-deprecations:
+
+Deprecations
+============
+
+Removals
+--------
+
+* The old :class:`TaskSet` signature of ``(task_name, list_of_tasks)``
+  can no longer be used (originally scheduled for removal in 2.4).
+  The deprecated ``.task_name`` and ``.task`` attributes has also been
+  removed.
+
+* The functions ``celery.execute.delay_task``, ``celery.execute.apply``,
+  and ``celery.execute.apply_async`` has been removed (originally)
+  scheduled for removal in 2.3).
+
+* The built-in ``ping`` task has been removed (originally scheduled
+  for removal in 2.3).  Please use the ping broadcast command
+  instead.
+
+* It is no longer possible to import ``subtask`` and ``TaskSet``
+  from :mod:`celery.task.base`, please import them from :mod:`celery.task`
+  instead (originally scheduled for removal in 2.4).
+
+Deprecations
+------------
+
+* The :mod:`celery.decorators` module has changed status
+  from pending deprecation to deprecated, and is scheduled for removal
+  in version 3.0.  The ``celery.task`` module must be used instead.
 
 .. _v250-news:
 
@@ -195,6 +226,35 @@ that filter for tasks to annotate:
 
     CELERY_ANNOTATIONS = (MyAnnotate(), {...})
 
+``current`` provides the currently executing task
+-------------------------------------------------
+
+The new :data:`celery.task.current` proxy will always give the currently
+executing task.
+
+**Example**:
+
+.. code-block:: python
+
+    from celery.task import current, task
+
+    @task
+    def update_twitter_status(auth, message):
+        twitter = Twitter(auth)
+        try:
+            twitter.update_status(message)
+        except twitter.FailWhale, exc:
+            # retry in 10 seconds.
+            current.retry(countdown=10, exc=exc)
+
+Previously you would have to type ``update_twitter_status.retry(...)``
+here, which can be annoying for long task names.
+
+.. note::
+    This will not work if the task function is called directly, i.e:
+    ``update_twitter_status(a, b)``. For that to work ``apply`` must
+    be used: ``update_twitter_status.apply((a, b))``.
+
 In Other News
 -------------
 
@@ -211,6 +271,13 @@ In Other News
 
     The AMQP backend can now use the fallback chord solution.
 
+- Sending :sig:`QUIT` to celeryd will now cause it cold terminate.
+
+    That is, it will not finish executing the tasks it is currently
+    working on.
+
+    Contributed by Alec Clowes.
+
 - New "detailed" mode for the Cassandra backend.
 
     Allows to have a "detailed" mode for the Cassandra backend.