Skip to content

Commit

Permalink
Updated Changelog for 1.0 (obviously not the final changelog)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ask Solem committed Nov 17, 2009
1 parent 89f4297 commit 8c6f508
Showing 1 changed file with 105 additions and 0 deletions.
105 changes: 105 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,111 @@
Change history
==============

1.0.0 [xxxx-xx-xx xx:xx x.x xxx]
--------------------------------

**BACKWARD INCOMPATIBLE CHANGES**

* Default celeryd loglevel is now ``WARN``, to enable to previous log level
start celeryd with ``--loglevel=INFO``.

* Tasks are automatically registered.

This means you no longer have to register your tasks manually.
You don't have to change old code right away, because a task can't be
registered twice.

If you don't want your task to be automatically registered you can set
the ``abstract`` attribute::

.. code-block:: python

class MyTask(Task):
abstract = True

By using ``abstract`` only tasks subclassing this task will be automatically
registered (this works like the Django ORM).

Incidentally, this change also fixes the problems with automatic name
assignment and relative imports. So you also don't have to specify a task name
anymore if you use relative imports.

* You can no longer use regular functions as tasks. This change was added
because it makes the internals a lot more clean and simple. However, you can
now turn functions into tasks by using the ``@task`` decorator::

.. code-block:: python

from celery.decorators import task

@task()
def add(x, y):
return x + y

See the User Guide for more information.

* The periodic task system has been rewritten to a centralized solution, this
means ``celeryd`` no longer schedules periodic tasks by default, but a new
daemon has been introduced: ``celerybeat``.

To launch the periodic task scheduler you have to run celerybeat::

$ celerybeat --detach

Make sure this is running on one server only, if you run it twice it all
periodic tasks will also be executed twice.

If you only have one worker server you can embed it into celeryd like this::

$ celeryd --detatch --beat # Embed celerybeat in celeryd.

* The supervisor has been removed, please use something like
http://supervisord.org instead. This means the ``-S`` and ``--supervised``
options to ``celeryd`` is no longer supported.

* ``TaskSet.join`` has been removed, use ``TaskSetResult.join`` instead.

* The task status ``"DONE"`` has been renamed to `"SUCCESS"`.

* ``AsyncResult.is_done`` has been removed, use ``AsyncResult.successful``
instead.

**NEWS**

* Rate limiting support (per task type, or globally).

* New periodic task system.

* Automatic registration.

* New cool task decorator syntax.





**CHANGES**

* New dependencies: billiard, python-dateutil, django-picklefield

* ETA no longer sends datetime objects, but uses ISO 8601 date format in a
string for better compatibility with other platforms.

* Task can now override the backend used to store results.

* Refactored the ExecuteWrapper, ``apply`` and ``CELERY_ALWAYS_EAGER`` now
also executes the task callbacks and signals.

* Now using a proper scheduler for the tasks with an ETA. This means waiting
eta tasks are sorted by time, so we don't have to poll the whole list all the
time.

**DOCUMENTATION**

* Reference now split into two sections; API reference and internal module
reference.


0.8.1 [2009-11-16 05:21 P.M CEST]
---------------------------------

Expand Down

0 comments on commit 8c6f508

Please sign in to comment.