@@ -182,6 +182,36 @@ Backward incompatible changes
182182
183183 CELERY_LOADER = "myapp.loaders.Loader"
184184
185+ * ``CELERY_TASK_RESULT_EXPIRES`` now defaults to 1 day.
186+
187+ Previous default setting was to expire in 5 days.
188+
189+ * AMQP backend: Don't use different values for `auto_delete`.
190+
191+ This bug became visible with RabbitMQ 1.8.0, which no longer
192+ allows conflicting declarations for the auto_delete and durable settings.
193+
194+ If you've already used celery with this backend chances are you
195+ have to delete the previous declaration::
196+
197+ $ PYTHONPATH=. camqadm exchange.delete celeryresults
198+
199+ * Now uses pickle instead of cPickle on Python versions <= 2.5
200+
201+ cPikle is broken in Python <= 2.5.
202+
203+ It unsafely and incorrectly uses relative instead of absolute imports,
204+ so e.g::
205+
206+ exceptions.KeyError
207+
208+ becomes::
209+
210+ celery.exceptions.KeyError
211+
212+ Your best choice is to upgrade to Python 2.6,
213+ as while the pure pickle version has worse performance,
214+ it is the only safe option for older Python versions.
185215.. _120news:
186216
187217News
@@ -215,6 +245,17 @@ News
215245 The fields here are, in order: *sender hostname*, *timestamp*, *event type* and
216246 *additional event fields*.
217247
248+ * AMQP result backend: Now supports ``.ready()``, ``.successful()``,
249+ ``.result``, ``.status``, and even responds to changes in task state
250+
251+ * New user guides:
252+
253+ * :doc:`userguide/workers`
254+ * :doc:`userguide/tasksets`
255+ * :doc:`userguide/routing`
256+
257+ * celeryd: Standard out/error is now being redirected to the logfile.
258+
218259* :mod:`billiard` has been moved back to the celery repository.
219260
220261 ===================================== =====================================
@@ -231,6 +272,11 @@ News
231272
232273* now depends on :mod:`pyparsing`
233274
275+ * celeryd: Added ``--purge`` as an alias to ``--discard``.
276+
277+ * celeryd: Ctrl+C (SIGINT) once does warm shutdown, hitting Ctrl+C twice
278+ forces termination.
279+
234280* Added support for using complex crontab-expressions in periodic tasks. For
235281 example, you can now use::
236282
@@ -251,6 +297,51 @@ News
251297
252298 See http://github.com/ask/celery/issues/closed#issue/122
253299
300+ * New built-in way to do task callbacks using
301+ :class:`~celery.task.sets.subtask`.
302+
303+ See :doc:`userguide/tasksets` for more information.
304+
305+ * TaskSets can now contain several types of tasks.
306+
307+ :class:`~celery.task.sets.TaskSet` has been refactored to use
308+ a new syntax, please see :doc:`userguide/tasksets` for more information.
309+
310+ The previous syntax is still supported, but will be deprecated in
311+ version 1.4.
312+
313+ * TaskSet failed() result was incorrect.
314+
315+ See http://github.com/ask/celery/issues/closed#issue/132
316+
317+ * Now creates different loggers per task class.
318+
319+ See http://github.com/ask/celery/issues/closed#issue/129
320+
321+ * Missing queue definitions are now created automatically.
322+
323+ You can disable this using the CELERY_CREATE_MISSING_QUEUES setting.
324+
325+ The missing queues are created with the following options::
326+
327+ CELERY_QUEUES[name] = {"exchange": name,
328+ "exchange_type": "direct",
329+ "routing_key": "name}
330+
331+ This feature is added for easily setting up routing using the ``-Q``
332+ option to ``celeryd``::
333+
334+ $ celeryd -Q video, image
335+
336+ See the new routing section of the userguide for more information:
337+ :doc:`userguide/routing`.
338+
339+ * New Task option: ``Task.queue``
340+
341+ If set, message options will be taken from the corresponding entry
342+ in ``CELERY_QUEUES``. ``exchange``, ``exchange_type`` and ``routing_key``
343+ will be ignored
344+
254345* Added support for task soft and hard timelimits.
255346
256347 New settings added:
@@ -399,6 +490,30 @@ News
399490 >>> broadcast("enable_events")
400491 >>> broadcast("disable_events")
401492
493+ * Removed top-level tests directory. Test config now in celery.tests.config
494+
495+ This means running the unittests doesn't require any special setup.
496+ ``celery/tests/__init__`` now configures the ``CELERY_CONFIG_MODULE`` and
497+ ``CELERY_LOADER``, so when ``nosetests`` imports that, the unit test
498+ environment is all set up.
499+
500+ Before you run the tests you need to install the test requirements::
501+
502+ $ pip install -r contrib/requirements/test.txt
503+
504+ Running all tests::
505+
506+ $ nosetests
507+
508+ Specifying the tests to run::
509+
510+ $ nosetests celery.tests.test_task
511+
512+ Producing HTML coverage::
513+
514+ $ nosetests --with-coverage3
515+
516+ The coverage output is then located in ``celery/tests/cover/index.html``.
402517
403518* celeryd: New option ``--version``: Dump version info and exit.
404519
@@ -462,6 +577,12 @@ News
462577 celeryd-multi -n baz.myhost -c 10
463578 celeryd-multi -n xuzzy.myhost -c 3
464579
580+ * The worker now calls the result backends ``process_cleanup`` method
581+ *after* task execution instead of before.
582+
583+ * AMQP result backend now supports Pika.
584+
585+
4655861.0.5
466587=====
467588:release-date: 2010-06-01 02:36 P.M CEST
@@ -1194,7 +1315,6 @@ News
11941315
11951316* celeryd now sends events if enabled with the ``-E`` argument.
11961317
1197-
11981318 Excellent for monitoring tools, one is already in the making
11991319 (http://github.com/ask/celerymon).
12001320
0 commit comments