============== Change history ============== 0.1.6 :date:`2009-04-30 1:50 P.M CET` :author:askh@opera.com * Added some unittests * Can now use the database for task metadata (like if the task has been executed or not). Set :setting:`CELERY_TASK_META` * Can now run ``python setup.py test`` to run the unittests from within the ``testproj`` project. * Can set the AMQP exchange/routing key/queue using :setting:`CELERY_AMQP_EXCHANGE`, :setting:`CELERY_AMQP_ROUTING_KEY`, and :setting:`CELERY_AMQP_CONSUMER_QUEUE`. * Introducing ``TaskSet``. A set of subtasks is executed and you can find out how many, or if all them, are done (excellent for progress bars and such) * Now catches all exceptions when running ``Task.__call__``, so the daemon doesn't die. This does't happen for pure functions yet, only :class:`Task` classes. * ``autodiscover()`` now works with zipped eggs. * celeryd: Now adds curernt working directory to ``sys.path`` for convenience. * The ``run_every`` attribute of :class:`PeriodicTask` classes can now be a :class:`datetime.timedelta()` object. * celeryd: You can now set the ``DJANGO_PROJECT_DIR`` variable for ``celeryd`` and it will add that to ``sys.path`` for easy launching. * Can now check if a task has been executed or not via HTTP. You can do this by including the celery ``urls.py`` into your project, >>> url(r'^celery/$', include("celery.urls")) then visiting the following url,:: http://mysite/celery/$task_id/done/ this will return a JSON dictionary like e.g: >>> {"task": {"id": $task_id, "executed": true}} * ``delay_task`` now returns string id, not :class:`uuid.UUID` instance. * Now has ``PeriodicTasks``, to have ``cron`` like functionality. * Project changed name from ``crunchy`` to ``celery``. The details of the name change request is in ``docs/name_change_request.txt``. 0.1.0 :date:`2009-04-24 11:28 A.M CET` :author:askh@opera.com -------------------------------------------------------------- * Initial release