[rabbitmq-discuss] [Ann] Celery 2.0 released
Ask Solem
askh at opera.com
Fri Jul 2 14:58:45 BST 2010
============================
Celery 2.0 has been released
============================
We're happy to announce the release of Celery 2.0.
Big thanks to all contributors, testers and users!
What is it?
===========
Celery is an asynchronous task queue/job queue based on distributed
message passing. It is focused on real-time operation, but supports
scheduling as well.
The execution units, called tasks, are executed concurrently on a single
or more worker servers. Tasks can execute asynchronously (in the background)
or synchronously (wait until ready).
Celery is already used in production to process millions of tasks a day.
Celery is written in Python, but the protocol can be implemented in
any language. It can also operate with other languages using webhooks.
The recommended message broker is RabbitMQ, but support for Redis and
databases is also available.
You may also be pleased to know that full Django integration exists,
delivered by the django-celery package.
What's new?
===========
* Django dependency removed.
Django integration has been moved to a separate package
called django-celery.
SQLAlchemy is now used instead of the Django ORM for the database
result store.
* A curses real-time monitor: celeryev.
* Support for soft and hard time limits.
--time-limit:
The worker processing the task will be
killed and replaced with a new process when this is exceeded.
--soft-time-limit:
The celery.exceptions.SoftTimeLimitExceeded exception
will be raised when this is exceeded. The task can catch this to
clean up before the hard time limit terminates it.
* Periodic tasks schedules can now be expressed using complex
crontab-like expressions.
For example, you can now use::
>>> crontab(minute="*/15")
or even::
>>> crontab(minute="*/30", hour="8-17,1-2",
... day_of_week="thu-fri")
* Built-in way to do task callbacks.
http://celeryq.org/docs/userguide/tasksets.html
* Simplified routing of tasks.
http://celeryq.org/docs/userguide/routing.html
* TaskSets can now contain several types of tasks.
Tasksets has been refactored to use a new syntax, please see
http://celeryq.org/docs/userguide/tasksets.html for more
information. The previous syntax is still supported but deprecated,
and will be completely removed in Celery 2.2.
* AMQP result backend can now do polling of results.
This means it supports ``result.ready()``, ``.successful()``,
etc.
* AMQP result backend now supports timeouts when waiting
for results.
* celeryd: --maxtasksperchild
Defines the maximum number of tasks a pool worker can process
before the process is terminated and replaced by a new one.
* It's now possible to use the client side of Celery without
configuration.
And lots more!
The Changelog contains upgrade instructions and a detailed
list of all changes:
http://celeryproject.org/docs/changelog.html
Thank you for reading it.
Resources
=========
:Homepage: http://celeryproject.org
:Download: http://pypi.python.org/pypi/celery
:Documentation: http://celeryproject.org/docs/
:Changelog: http://celeryproject.org/docs/changelog.html
:Code: http://github.com/ask/celery/
:FAQ: http://ask.github.com/celery/faq.html
:Mailing list: http://groups.google.com/group/celery-users
:IRC: #celery at irc.freenode.net.
--
{Ask Solem,
twitter.com/asksol | github.com/ask }.
--
{Ask Solem,
Developer ~ Webteam,
Opera Software,
+47 98435213 | twitter.com/asksol }.
More information about the rabbitmq-discuss
mailing list