Browse Source

More work on the announcement

Ask Solem 15 years ago
parent
commit
28b00b66d9
1 changed files with 68 additions and 28 deletions
  1. 68 28
      docs/releases/1.0/announcement.rst

+ 68 - 28
docs/releases/1.0/announcement.rst

@@ -4,19 +4,36 @@
 
 We're happy to announce the release of Celery 1.0.
 
+What is it?
+===========
+
+Celery is a task queue/job queue based on distributed message passing.
+It is focused on real-time operation, but has support for scheduling as well.
+
+The execution units, called tasks, are executed concurrently on one or
+more worker servers, asynchronously (in the background) or synchronously
+(wait until ready).
+
+Celery is already used in production to process millions of tasks a day.
+
+It was first created for Django, but is now also usable from Python. It can
+also operate with other languages via webhooks.
+
 Stable API
 ==========
 
-From this version on the API will be considered stable. This means there won't be any backwards
-incompatible changes to new minor versions. Changes to the API needs to be
-deprecated; so, for example, if we decided to remove a function that existed in Celery 1.0:
+From this version on the API will be considered stable. This means there won't
+be any backwards incompatible changes to new minor versions. Changes to the
+API needs to be deprecated; so, for example, if we decided to remove a function
+that existed in Celery 1.0:
 
 * Celery 1.2 will contain a backwards-compatible replica of the function which
   will raise a ``PendingDeprecationWarning``.
-  This warning is silent by default; you need to explicitly turn on display of these warnings.
-* Celery 1.4 will contain the backwards-compatible replica, but the warning will be promoted to
-  a full-fledged ``DeprecationWarning``. This warning is loud by default, and will likely be
-  quite annoying.
+  This warning is silent by default; you need to explicitly turn on display
+  of these warnings.
+* Celery 1.4 will contain the backwards-compatible replica, but the warning
+  will be promoted to a full-fledged ``DeprecationWarning``. This warning
+  is loud by default, and will likely be quite annoying.
 * Celery 1.6 will remove the feature outright.
 
 See the `Celery Deprecation Timeline`_ for a list of pending removals.
@@ -29,14 +46,13 @@ What's new?
 
 * New periodic task service.
 
-  Periodic tasks are no longer dispatched by ``celeryd``, but by a separate
-  service called ``celerybeat``. This is an optimized, centralized service
-  dedicated to your periodic tasks, which means you don't have to
+  Periodic tasks are no longer dispatched by ``celeryd``, but instead by a
+  separate service called ``celerybeat``. This is an optimized, centralized
+  service dedicated to your periodic tasks, which means you don't have to
   worry about deadlocks or race conditions any more. But, also it means you
-  have to make sure only one instance of the service is running at any one
+  have to make sure only one instance of this service is running at any one
   time.
 
-
   **TIP:** If you're only running a single ``celeryd`` server, you can embed
   ``celerybeat`` inside it. Just add the ``--beat`` argument.
 
@@ -44,7 +60,9 @@ What's new?
 
     Registering the tasks manually was getting tedious, so now you don't have
     to anymore. However -- You can still do it manually if you need to, just
-    disable :attr:`Task.autoregister`.
+    disable :attr:`Task.autoregister`. The concept of abstract task classes
+    has also been introduced, this is like django models, where only the
+    subclasses of an abstract task is registered.
 
 * Awesome new task decorators
 
@@ -60,23 +78,27 @@ What's new?
 * Rate limiting
 
     Global and per task rate limits. 10 tasks a second? or one an hour? You
-    got it. It's using the awesome bucket queue algorithm, which is commonly
-    used for network traffic shaping. It accounts for bursts of activity, so
-    your workers won't be bored by having nothing to do.
+    got it. It's using the awesome `token bucket algorithm`_, which is
+    commonly used for network traffic shaping. It accounts for bursts of
+    activity, so your workers won't be bored by having nothing to do.
+
+.. _`token bucket algorithm`: http://en.wikipedia.org/wiki/Token_bucket
 
 * Broadcast commands
 
-    You can now revoke tasks if you suddenly change your mind and don't want to run
-    the task anyway, or you can rate limit tasks or shut down the worker remotely.
+    You can now revoke tasks if you suddenly change your mind and don't want
+    to run the task anyway, or you can rate limit tasks or even shut down the
+    worker remotely.
 
-    It doesn't have many commands yet, but we're waiting for broadcast commands to
-    reach its full potential. Maybe you have some ideas of your own?
+    It doesn't have many commands yet, but we're waiting for broadcast
+    commands to reach its full potential. There's a lot of potential here,
+    so please share your ideas if you have any.
 
 * Multiple queues
 
     The worker is now able to receive tasks on multiple queues at once. This
-    means you can route tasks to arbitrary workers. Read about the insane
-    routing powers of AMQP, and you will surely end up being mighty impressed.
+    means you can route tasks to arbitrary workers. Read about the wicked
+    routing powers of AMQP, and you will surely end up mighty impressed.
 
 * Platform agnostic message format.
 
@@ -93,12 +115,30 @@ What's new?
 
 * Plus a lot more
 
-To read more about these and other changes in detail, please refer to the `changelog`_.
-This document contains crucial information, so if you're upgrading from a previous version of Celery,
-be sure to read the entire change set before you continue.
+To read more about these and other changes in detail, please refer to
+the `changelog`_. This document contains crucial information, so if you're
+upgrading from a previous version of Celery, be sure to read the entire
+change set before you continue.
 
 .. _`changelog`: http://ask.github.com/celery/changelog.html
 
-**TIP:** If you install the :mod:`setproctitle` module you can see which task each
-worker process is currently executing in ``ps`` listings. Just install it
-using pip: ``pip install setproctitle``.
+**TIP:** If you install the :mod:`setproctitle` module you can see which
+task each worker process is currently executing in ``ps`` listings.
+Just install it using pip: ``pip install setproctitle``.
+
+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/
+
+* Mailing-list: http://groups.google.com/celery-users
+
+* IRC: #celery on irc.freenode.net.