Ver código fonte

Updates Changelog

Ask Solem 13 anos atrás
pai
commit
e49186a886
1 arquivos alterados com 160 adições e 37 exclusões
  1. 160 37
      Changelog

+ 160 - 37
Changelog

@@ -18,6 +18,22 @@
 Important Notes
 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.
+
+    Fix contributed by Harm Verhagen.
+
 * AMQP Result backend: Now expires results by default.
 * AMQP Result backend: Now expires results by default.
 
 
     The default expiration value is now taken from the
     The default expiration value is now taken from the
@@ -33,9 +49,67 @@ Important Notes
 
 
         CELERY_TASK_RESULT_EXPIRES = None
         CELERY_TASK_RESULT_EXPIRES = None
 
 
+* Broker transports can be now be specified using URLs
+
+    The broker hostname can now be given as an URL instead, of the format::
+
+        transport://user:password@hostname:port/virtual_host
+
+    for example the default broker is written as::
+
+        amqp://guest:guest@localhost:5672//
+
+    Transport defaults to amqp, and is not required.
+    user, password, port and virtual_host is also not mandatory and
+    will default to the corresponding transport default.
+
+    .. 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 deprecated :func:`celery.loaders.setup_loader` function has been removed.
 
 
-* Deprecations
+* The :setting:`CELERY_TASK_ERROR_WHITELIST` setting has been replaced
+  by a more flexible approach (Issue #447).
+
+  The Mail sending logic is now available as ``Task.ErrorMail``.
+  The actual implementation is in :module:`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
     The following functions has been deprecated and is scheduled for removal in
     version 3.0:
     version 3.0:
@@ -71,53 +145,39 @@ News
 
 
 * No longer depends on :mod:`pyparsing`.
 * No longer depends on :mod:`pyparsing`.
 
 
-* Broker transports can be now be specified using URLs
-
-    The broker hostname can now be given as an URL instead, of the format::
-
-        transport://user:password@hostname:port/virtual_host
-
-    for example the default broker is written as::
+* CELERY_IMPORTS can now be a scalar value (Issue #485).
 
 
-        amqp://guest:guest@localhost:5672//
+    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.
 
 
-    Transport defaults to amqp, and is not required.
-    user, password, port and virtual_host is also not mandatory and
-    will default to the corresponding transport default.
+    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.
 
 
-    .. note::
+    Suggested by jsaxon-cars.
 
 
-        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//
+* Fixed a memory leak when using the thread pool (Issue #486).
 
 
-        and a virtual host of '' (empty) becomes::
+    Contributed by Kornelijus Survila.
 
 
-            amqp://guest:guest@localhost:5672/
+* The statedb was not saved at exit.
 
 
-        So the leading slash in the path component is **always required**.
+    This has now been fixed and it should again remember previously
+    revoked tasks when a ``--statedb`` is enabled.
 
 
-   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.
+* Adds :setting:`EMAIL_USE_TLS` to enable secure SMTP connections
+  (Issue #418).
 
 
-   Also, programs now support the :option:`-b|--broker` option to specify
-   a broker URL on the command line::
+    Contributed by Stefan Kjartansson.
 
 
-        $ celeryd -b redis://localhost
+* Now handles missing fields in task messages as documented in the message
+  format documentation.
 
 
-        $ celeryctl -b amqp://guest:guest@localhost//e
+    * Missing required field throws :exc:`InvalidTaskError`
+    * Missing args/kwargs is assumed empty.
 
 
-    The environment variable :envvar:`CELERY_BROKER_URL` can also be used to
-    easily override the default broker used.
-
-* Adds :setting:`EMAIL_USE_TLS` to enable secure SMTP connections
-  (Issue #418).
+    Contributed by Chris Chamberlin.
 
 
 * The Cache, Cassandra, MongoDB, Redis and Tyrant backends now respects
 * The Cache, Cassandra, MongoDB, Redis and Tyrant backends now respects
   the :setting:`CELERY_RESULT_SERIALIZER` setting (Issue #435).
   the :setting:`CELERY_RESULT_SERIALIZER` setting (Issue #435).
@@ -125,19 +185,82 @@ News
     This means that only the database (django/sqlalchemy) backends
     This means that only the database (django/sqlalchemy) backends
     currently does not support using custom serializers.
     currently does not support using custom serializers.
 
 
+    Contributed by Steeve Morin
+
 * Logging calls no longer manually formats messages, but delegates
 * Logging calls no longer manually formats messages, but delegates
   that to the logging system, so tools like Sentry can easier
   that to the logging system, so tools like Sentry can easier
   work with the messages (Issue #445).
   work with the messages (Issue #445).
 
 
+    Contributed by Chris Adams.
+
 * ``celeryd_multi`` now supports a ``stop_verify`` command to wait for
 * ``celeryd_multi`` now supports a ``stop_verify`` command to wait for
   processes to shutdown.
   processes to shutdown.
 
 
 * New setting :setting:`CELERY_RESULT_DB_SHORT_LIVED_SESSIONS` added,
 * New setting :setting:`CELERY_RESULT_DB_SHORT_LIVED_SESSIONS` added,
-  which if enabled will disable the caching of SQLAlchemy sessions.
+  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
 * All result backends now implements ``__reduce__`` so that they can
   be pickled (Issue #441).
   be pickled (Issue #441).
 
 
+    Fix contributed by Remy Noel
+
+* 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.tasks`` for naming
+  consistency.
+
+    The previous name is still available as an alias.
+
+    Contributed by Mher Movsisyan
+
+* 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.
+
+* 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.2:
 .. _version-2.3.2:
 
 
 2.3.2
 2.3.2