|
@@ -5,6 +5,151 @@
|
|
|
.. contents::
|
|
|
:local:
|
|
|
|
|
|
+.. _version-2.4.0:
|
|
|
+
|
|
|
+2.4.0
|
|
|
+=====
|
|
|
+
|
|
|
+.. _v240-important:
|
|
|
+
|
|
|
+Important Notes
|
|
|
+---------------
|
|
|
+
|
|
|
+* The deprecated :func:`celery.loaders.setup_loader` function has been removed.
|
|
|
+
|
|
|
+* 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
|
|
|
+----
|
|
|
+
|
|
|
+* 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.
|
|
|
+
|
|
|
+* Adds :setting:`EMAIL_USE_TLS` to enable secure SMTP connections
|
|
|
+ (Issue #418).
|
|
|
+
|
|
|
+* The coloring of log messages didn't handle non-ASCII data well
|
|
|
+ (Issue #427).
|
|
|
+
|
|
|
+* 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.
|
|
|
+
|
|
|
+* 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).
|
|
|
+
|
|
|
+* ``Task.request`` now contains the current workers hostname (Issue #460).
|
|
|
+
|
|
|
+* ``celeryd_multi`` now supports a ``stop_verify`` command to wait for
|
|
|
+ processes to shutdown.
|
|
|
+
|
|
|
+* New setting :setting:`CELERY_RESULT_DB_SHORT_LIVED_SESSIONS` added,
|
|
|
+ which if enabled will disable the caching of SQLAlchemy sessions.
|
|
|
+
|
|
|
+Fixes
|
|
|
+-----
|
|
|
+
|
|
|
+* Fixes case where the worker could become unresponsive because of tasks
|
|
|
+ exceeding the hard time limit.
|
|
|
+
|
|
|
+* Eventlet no longer crashes if autoscale is enabled.
|
|
|
+
|
|
|
+ growing and shrinking eventlet pools is still not supported.
|
|
|
+
|
|
|
+* [Windows] the multiprocessing pool tried to import ``os.kill``
|
|
|
+ even though this is not available there (Issue #450).
|
|
|
+
|
|
|
+* `purge/discard_all` was not working correctly (Issue #455).
|
|
|
+
|
|
|
+* Retries will no longer be performed when tasks are called directly
|
|
|
+ (using ``__call__``).
|
|
|
+
|
|
|
+ Instead the exception passed to ``retry`` will be re-raised.
|
|
|
+
|
|
|
+* All result backends now implements ``__reduce__`` so that they can
|
|
|
+ be pickled (Issue #441).
|
|
|
+
|
|
|
+* 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.
|
|
|
+
|
|
|
.. _version-2.3.1:
|
|
|
|
|
|
2.3.1
|