|
@@ -19,17 +19,46 @@ If you're looking for versions prior to 3.0.x you should go to :ref:`history`.
|
|
|
|
|
|
- Now depends on billiard 2.7.3.20
|
|
|
|
|
|
-- Fixed a bug with how chords handles failures in subtasks (Issue #1172).
|
|
|
-
|
|
|
- Before if a task part of a chord raised an exception,
|
|
|
- that exception value would be included as part of the callback
|
|
|
- argument. This was not intended and the new behavior has been
|
|
|
- documented in :ref:`chord-errors`.
|
|
|
-
|
|
|
- ``execv`` is now disabled by default.
|
|
|
|
|
|
It was causing too many problems for users, you can still enable
|
|
|
- it using the :setting:`CELERY_FORCE_EXECV` setting.
|
|
|
+ it using the :setting:`CELERYD_FORCE_EXECV` setting.
|
|
|
+
|
|
|
+ execv was only enabled when transports other than amqp/redis was used,
|
|
|
+ and it's there to prevent deadlocks caused by mutexes not being released
|
|
|
+ before the process forks. Sadly it also changes the environment
|
|
|
+ introducing many corner case bugs that is hard to fix without adding
|
|
|
+ horrible hacks. Deadlock issues are reported far less often than the
|
|
|
+ bugs that execv are causing, so we now disable it by default.
|
|
|
+
|
|
|
+ Work is in motion to create non-blocking versions of these transports
|
|
|
+ so that execv is not necessary (which is the situation with the amqp
|
|
|
+ and redis broker transports)
|
|
|
+
|
|
|
+- Chord exception behavior defined (Issue #1172).
|
|
|
+
|
|
|
+ From Celery 3.1 the chord callback will change state to FAILURE
|
|
|
+ when a task part of a chord raises an exception.
|
|
|
+
|
|
|
+ It was never documented what happens in this case,
|
|
|
+ and the actual behavior was very unsatisfactory, indeed
|
|
|
+ it will just forward the exception value to the chord callback.
|
|
|
+
|
|
|
+ For backward compatibility reasons we do not change to the new
|
|
|
+ behavior in a bugfix release, even if the current behavior was
|
|
|
+ never documented. Instead you can enable the
|
|
|
+ :setting:`CELERY_CHORD_PROPAGATES` setting to get the new behavior
|
|
|
+ that will be default from Celery 3.1.
|
|
|
+
|
|
|
+ See more at :ref:`chord-errors`.
|
|
|
+
|
|
|
+- worker: Fixes bug with ignored and retried tasks.
|
|
|
+
|
|
|
+ The ``on_chord_part_return`` and ``Task.after_return`` callbacks,
|
|
|
+ nor the ``task_postrun`` signal should be called when the task was
|
|
|
+ retried/ignored.
|
|
|
+
|
|
|
+ Fix contributed by Vlad.
|
|
|
|
|
|
- ``GroupResult.join_native`` now respects the ``propagate`` argument.
|
|
|
|
|
@@ -60,6 +89,16 @@ If you're looking for versions prior to 3.0.x you should go to :ref:`history`.
|
|
|
- New :setting:`BROKER_HEARTBEAT_CHECKRATE` setting introduced to modify the
|
|
|
rate at which broker connection heartbeats are monitored.
|
|
|
|
|
|
+ The default value was also changed from 3.0 to 2.0.
|
|
|
+
|
|
|
+- :class:`celery.events.state.State` is now pickleable.
|
|
|
+
|
|
|
+ Fix contributed by Mher Movsisyan.
|
|
|
+
|
|
|
+- :class:`celery.datastructures.LRUCache` is now pickleable.
|
|
|
+
|
|
|
+ Fix contributed by Mher Movsisyan.
|
|
|
+
|
|
|
- The stats broadcast command now includes the workers pid.
|
|
|
|
|
|
Contributed by Mher Movsisyan.
|
|
@@ -85,15 +124,7 @@ If you're looking for versions prior to 3.0.x you should go to :ref:`history`.
|
|
|
by default.
|
|
|
|
|
|
You can still set the :envvar:`MP_LOG` environment variable
|
|
|
- to set it to value of the `--loglevel` argument.e
|
|
|
-
|
|
|
-- worker: Fixes bug with ignored and retried tasks.
|
|
|
-
|
|
|
- The ``on_chord_part_return`` and ``Task.after_return`` callbacks,
|
|
|
- nor the ``task_postrun`` signal should be called when the task was
|
|
|
- retried/ignored.
|
|
|
-
|
|
|
- Fix contributed by Vlad.
|
|
|
+ to set it to value of the `--loglevel` argument.
|
|
|
|
|
|
.. _version-3.0.13:
|
|
|
|