Browse Source

Update whatsnew-3.1

Ask Solem 11 years ago
parent
commit
3c133b87eb
2 changed files with 129 additions and 4 deletions
  1. 2 0
      docs/django/first-steps-with-django.rst
  2. 127 4
      docs/whatsnew-3.1.rst

+ 2 - 0
docs/django/first-steps-with-django.rst

@@ -1,3 +1,5 @@
+.. _django-first-steps:
+
 =========================
 =========================
  First steps with Django
  First steps with Django
 =========================
 =========================

+ 127 - 4
docs/whatsnew-3.1.rst

@@ -35,9 +35,9 @@ Highlights
 
 
 .. topic:: Overview
 .. topic:: Overview
 
 
-    - XXX1
+    - Now supports Django out of the box.
 
 
-        YYY1
+        See the new tutorial at :ref:`django-first-steps`.
 
 
     - XXX2
     - XXX2
 
 
@@ -177,8 +177,6 @@ In Other News
     - Namespaces must instantiate individual bootsteps, and
     - Namespaces must instantiate individual bootsteps, and
       there's no global registry of bootsteps.
       there's no global registry of bootsteps.
 
 
-
-
 - New result backend with RPC semantics (``rpc``).
 - New result backend with RPC semantics (``rpc``).
 
 
     This version of the ``amqp`` result backend is a very good alternative
     This version of the ``amqp`` result backend is a very good alternative
@@ -337,6 +335,36 @@ In Other News
         pip install celery[zookeeper]
         pip install celery[zookeeper]
         pip install celery[sqlalchemy]
         pip install celery[sqlalchemy]
 
 
+- New settings :setting:`CELERY_EVENT_QUEUE_TTL` and
+  :setting:`CELERY_EVENT_QUEUE_EXPIRES`.
+
+    These control when a monitors event queue is deleted, and for how long
+    events published to that queue will be visible.  Only supported on
+    RabbitMQ.
+
+- New Couchbase result backend
+
+    This result backend enables you to store and retrieve task results
+    using `Couchbase`_.
+
+    See :ref:`conf-couchbase-result-backend` for more information
+    about configuring this result backend.
+
+    Contributed by Alain Masiero.
+
+    .. _`Couchbase`: http://www.couchbase.com
+
+
+- CentOS init script now supports starting multiple worker instances.
+
+    See the script header for details.
+
+    Contributed by Jonathan Jordan.
+
+- ``AsyncResult.iter_native`` now sets default interval parameter to 0.5
+
+    Fix contributed by Idan Kamara
+
 - Worker node names now consists of a name and a hostname separated by '@'.
 - Worker node names now consists of a name and a hostname separated by '@'.
 
 
     This change is to more easily identify multiple instances running
     This change is to more easily identify multiple instances running
@@ -386,6 +414,29 @@ In Other News
     | ``%%``        | The character ``%``                   |
     | ``%%``        | The character ``%``                   |
     +---------------+---------------------------------------+
     +---------------+---------------------------------------+
 
 
+- Task decorator can now create "bound tasks"
+
+    This means that the function will be a method in the resulting
+    task class and so will have a ``self`` argument that can be used
+    to refer to the current task:
+
+    .. code-block:: python
+
+        @app.task(bind=True)
+        def send_twitter_status(self, oauth, tweet):
+            try:
+                twitter = Twitter(oauth)
+                twitter.update_status(tweet)
+            except (Twitter.FailWhaleError, Twitter.LoginError) as exc:
+                raise self.retry(exc=exc)
+
+    Using *bound tasks* is now the recommended approach whenever
+    you need access to the current task or request context.
+    Previously one would have to refer to the name of the task
+    instead (``send_twitter_status.retry``), but this could lead to problems
+    in some instances where the registered task was no longer the same
+    object.
+
 - Workers now synchronizes revoked tasks with its neighbors.
 - Workers now synchronizes revoked tasks with its neighbors.
 
 
     This happens at startup and causes a one second startup delay
     This happens at startup and causes a one second startup delay
@@ -403,6 +454,40 @@ In Other News
     very rapidly. It will take several millennia before the clock overflows 64 bits,
     very rapidly. It will take several millennia before the clock overflows 64 bits,
     so this is not a concern.
     so this is not a concern.
 
 
+- New setting :setting:`BROKER_LOGIN_METHOD`
+
+    This setting can be used to specify an alternate login method
+    for the AMQP transports.
+
+    Contributed by Adrien Guinet
+
+- The ``dump_conf`` remote control command will now give the string
+  representation for types that are not JSON compatible.
+
+- Calling a subtask will now execute the task directly as documented.
+
+    A misunderstanding led to ``Signature.__call__`` being an alias of
+    ``.delay`` but this does not conform to the calling API of ``Task`` which
+    should call the underlying task method.
+
+    This means that:
+
+    .. code-block:: python
+
+        @app.task
+        def add(x, y):
+            return x + y
+
+        add.s(2, 2)()
+
+    does the same as calling the task directly:
+
+    .. code-block:: python
+
+        add(2, 2)
+
+- Function `celery.security.setup_security` is now :func:`celery.setup_security`.
+
 - Message expires value is now forwarded at retry (Issue #980).
 - Message expires value is now forwarded at retry (Issue #980).
 
 
     The value is forwarded at is, so the expiry time will not change.
     The value is forwarded at is, so the expiry time will not change.
@@ -429,6 +514,18 @@ In Other News
 
 
     Contributed by Chris Adams.
     Contributed by Chris Adams.
 
 
+- ``events.State`` no longer crashes when it receives unknown event types.
+
+- SQLAlchemy Result Backend: New :setting:`CELERY_RESULT_DB_TABLENAMES`
+  setting can be used to change the name of the database tables used.
+
+    Contributed by Ryan Petrello.
+
+- A stress test suite for the Celery worker has been written.
+
+    This is located in the ``funtests/stress`` directory in the git
+    repository. There's a README file there to get you started.
+
 - The logger named ``celery.concurrency`` has been renamed to ``celery.pool``.
 - The logger named ``celery.concurrency`` has been renamed to ``celery.pool``.
 
 
 - New command line utility ``celery graph``
 - New command line utility ``celery graph``
@@ -556,6 +653,9 @@ Scheduled Removals
     setting.  This is because function rarely establish connections directly,
     setting.  This is because function rarely establish connections directly,
     but instead acquire connections from the connection pool.
     but instead acquire connections from the connection pool.
 
 
+- The ``Celery.with_default_connection`` method has been removed in favor
+  of ``with app.connection_or_acquire``.
+
 .. _v310-deprecations:
 .. _v310-deprecations:
 
 
 Deprecations
 Deprecations
@@ -574,3 +674,26 @@ Fixes
 =====
 =====
 
 
 - XXX
 - XXX
+
+.. _v310-internal
+
+Internal changes
+================
+
+- Module ``celery.task.trace`` has been renamed to :mod:`celery.app.trace`.
+
+- Classes that no longer fall back to using the default app:
+
+    - Result backends (:class:`celery.backends.base.BaseBackend`)
+    - :class:`celery.worker.WorkController`
+    - :class:`celery.worker.Consumer`
+    - :class:`celery.worker.job.Request`
+
+    This means that you have to pass a specific app when instantiating
+    these classes.
+
+- ``EventDispatcher.copy_buffer`` renamed to ``EventDispatcher.extend_buffer``
+
+- Removed unused and never documented global instance
+  ``celery.events.state.state``.
+