|
@@ -182,6 +182,36 @@ Backward incompatible changes
|
|
|
|
|
|
CELERY_LOADER = "myapp.loaders.Loader"
|
|
|
|
|
|
+* ``CELERY_TASK_RESULT_EXPIRES`` now defaults to 1 day.
|
|
|
+
|
|
|
+ Previous default setting was to expire in 5 days.
|
|
|
+
|
|
|
+* AMQP backend: Don't use different values for `auto_delete`.
|
|
|
+
|
|
|
+ This bug became visible with RabbitMQ 1.8.0, which no longer
|
|
|
+ allows conflicting declarations for the auto_delete and durable settings.
|
|
|
+
|
|
|
+ If you've already used celery with this backend chances are you
|
|
|
+ have to delete the previous declaration::
|
|
|
+
|
|
|
+ $ PYTHONPATH=. camqadm exchange.delete celeryresults
|
|
|
+
|
|
|
+* Now uses pickle instead of cPickle on Python versions <= 2.5
|
|
|
+
|
|
|
+ cPikle is broken in Python <= 2.5.
|
|
|
+
|
|
|
+ It unsafely and incorrectly uses relative instead of absolute imports,
|
|
|
+ so e.g::
|
|
|
+
|
|
|
+ exceptions.KeyError
|
|
|
+
|
|
|
+ becomes::
|
|
|
+
|
|
|
+ celery.exceptions.KeyError
|
|
|
+
|
|
|
+ Your best choice is to upgrade to Python 2.6,
|
|
|
+ as while the pure pickle version has worse performance,
|
|
|
+ it is the only safe option for older Python versions.
|
|
|
.. _120news:
|
|
|
|
|
|
News
|
|
@@ -215,6 +245,17 @@ News
|
|
|
The fields here are, in order: *sender hostname*, *timestamp*, *event type* and
|
|
|
*additional event fields*.
|
|
|
|
|
|
+* AMQP result backend: Now supports ``.ready()``, ``.successful()``,
|
|
|
+ ``.result``, ``.status``, and even responds to changes in task state
|
|
|
+
|
|
|
+* New user guides:
|
|
|
+
|
|
|
+ * :doc:`userguide/workers`
|
|
|
+ * :doc:`userguide/tasksets`
|
|
|
+ * :doc:`userguide/routing`
|
|
|
+
|
|
|
+* celeryd: Standard out/error is now being redirected to the logfile.
|
|
|
+
|
|
|
* :mod:`billiard` has been moved back to the celery repository.
|
|
|
|
|
|
===================================== =====================================
|
|
@@ -231,6 +272,11 @@ News
|
|
|
|
|
|
* now depends on :mod:`pyparsing`
|
|
|
|
|
|
+* celeryd: Added ``--purge`` as an alias to ``--discard``.
|
|
|
+
|
|
|
+* celeryd: Ctrl+C (SIGINT) once does warm shutdown, hitting Ctrl+C twice
|
|
|
+ forces termination.
|
|
|
+
|
|
|
* Added support for using complex crontab-expressions in periodic tasks. For
|
|
|
example, you can now use::
|
|
|
|
|
@@ -251,6 +297,51 @@ News
|
|
|
|
|
|
See http://github.com/ask/celery/issues/closed#issue/122
|
|
|
|
|
|
+* New built-in way to do task callbacks using
|
|
|
+ :class:`~celery.task.sets.subtask`.
|
|
|
+
|
|
|
+ See :doc:`userguide/tasksets` for more information.
|
|
|
+
|
|
|
+* TaskSets can now contain several types of tasks.
|
|
|
+
|
|
|
+ :class:`~celery.task.sets.TaskSet` has been refactored to use
|
|
|
+ a new syntax, please see :doc:`userguide/tasksets` for more information.
|
|
|
+
|
|
|
+ The previous syntax is still supported, but will be deprecated in
|
|
|
+ version 1.4.
|
|
|
+
|
|
|
+* TaskSet failed() result was incorrect.
|
|
|
+
|
|
|
+ See http://github.com/ask/celery/issues/closed#issue/132
|
|
|
+
|
|
|
+* Now creates different loggers per task class.
|
|
|
+
|
|
|
+ See http://github.com/ask/celery/issues/closed#issue/129
|
|
|
+
|
|
|
+* Missing queue definitions are now created automatically.
|
|
|
+
|
|
|
+ You can disable this using the CELERY_CREATE_MISSING_QUEUES setting.
|
|
|
+
|
|
|
+ The missing queues are created with the following options::
|
|
|
+
|
|
|
+ CELERY_QUEUES[name] = {"exchange": name,
|
|
|
+ "exchange_type": "direct",
|
|
|
+ "routing_key": "name}
|
|
|
+
|
|
|
+ This feature is added for easily setting up routing using the ``-Q``
|
|
|
+ option to ``celeryd``::
|
|
|
+
|
|
|
+ $ celeryd -Q video, image
|
|
|
+
|
|
|
+ See the new routing section of the userguide for more information:
|
|
|
+ :doc:`userguide/routing`.
|
|
|
+
|
|
|
+* New Task option: ``Task.queue``
|
|
|
+
|
|
|
+ If set, message options will be taken from the corresponding entry
|
|
|
+ in ``CELERY_QUEUES``. ``exchange``, ``exchange_type`` and ``routing_key``
|
|
|
+ will be ignored
|
|
|
+
|
|
|
* Added support for task soft and hard timelimits.
|
|
|
|
|
|
New settings added:
|
|
@@ -399,6 +490,30 @@ News
|
|
|
>>> broadcast("enable_events")
|
|
|
>>> broadcast("disable_events")
|
|
|
|
|
|
+* Removed top-level tests directory. Test config now in celery.tests.config
|
|
|
+
|
|
|
+ This means running the unittests doesn't require any special setup.
|
|
|
+ ``celery/tests/__init__`` now configures the ``CELERY_CONFIG_MODULE`` and
|
|
|
+ ``CELERY_LOADER``, so when ``nosetests`` imports that, the unit test
|
|
|
+ environment is all set up.
|
|
|
+
|
|
|
+ Before you run the tests you need to install the test requirements::
|
|
|
+
|
|
|
+ $ pip install -r contrib/requirements/test.txt
|
|
|
+
|
|
|
+ Running all tests::
|
|
|
+
|
|
|
+ $ nosetests
|
|
|
+
|
|
|
+ Specifying the tests to run::
|
|
|
+
|
|
|
+ $ nosetests celery.tests.test_task
|
|
|
+
|
|
|
+ Producing HTML coverage::
|
|
|
+
|
|
|
+ $ nosetests --with-coverage3
|
|
|
+
|
|
|
+ The coverage output is then located in ``celery/tests/cover/index.html``.
|
|
|
|
|
|
* celeryd: New option ``--version``: Dump version info and exit.
|
|
|
|
|
@@ -462,6 +577,12 @@ News
|
|
|
celeryd-multi -n baz.myhost -c 10
|
|
|
celeryd-multi -n xuzzy.myhost -c 3
|
|
|
|
|
|
+* The worker now calls the result backends ``process_cleanup`` method
|
|
|
+ *after* task execution instead of before.
|
|
|
+
|
|
|
+* AMQP result backend now supports Pika.
|
|
|
+
|
|
|
+
|
|
|
1.0.5
|
|
|
=====
|
|
|
:release-date: 2010-06-01 02:36 P.M CEST
|
|
@@ -1194,7 +1315,6 @@ News
|
|
|
|
|
|
* celeryd now sends events if enabled with the ``-E`` argument.
|
|
|
|
|
|
-
|
|
|
Excellent for monitoring tools, one is already in the making
|
|
|
(http://github.com/ask/celerymon).
|
|
|
|