123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="keywords" content="task queue, job queue, asynchronous, rabbitmq, amqp,
- redis, django, python, webhooks, queue, distributed">
- <meta name="description" content="open source distributed task queue" >
- <link rel="icon" type="image/png" href="favicon0.png">
- <meta name="viewport" content="width=500, user-scalable=no">
- <link rel="apple-touch-icon" href="favicon_64.png"/>
- <title>Celery - The Distributed Task Queue</title>
- <link rel="stylesheet" href="main0000.css"/>
- <link rel="stylesheet" href="trac0000.css"/>
- <script type="text/javascript">
- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
- document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
- </script>
- <script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-12986238-1");
- pageTracker._trackPageview();
- } catch(err) {}</script>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- </head>
- <body>
- <div id="navbar">
- <div class="iStretch">
- <div class="link" id="current"><a href="index.html">Home</a></div>
- <div class="link"><a href="http://github.com/ask/celery">Code</a></div>
- <div class="link"><a href="http://celeryq.org/docs/">Documentation</a></div>
- <div class="link"><a href="community.html">Community</a></div>
- <div class="link"><a href="http://pypi.python.org/pypi/celery#downloads">Download</a></div>
- <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
- <input type="hidden" name="cmd" value="_s-xclick">
- <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
- ">
- <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
- <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
- </form>
-
- </div>
- </div>
- <div class="iStretch">
- <div id="topcontainer">
- <ul>
- <li>Background Processing
- <li>Distributed
- <li>Asynchronous/Synchronous
- <li>Concurrency
- <li>Periodic Tasks
- <li>Retries
- </ul>
- </div>
- <div id="contentcontainer">
- <div class="column">
- <h2>Distributed Task Queue</h2>
- <p> 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.</p>
- <p>The execution units, called tasks, are executed concurrently on a single or
- more worker servers using multiprocessing, <a href="http://eventlet.net">Eventlet</a>,
- or <a href="http://gevent.org">gevent</a>. Tasks can execute asynchronously (in the background) or synchronously
- (wait until ready).</p>
- <p>Celery is used in production systems to process millions of tasks a day.</p>
- <p>Celery is written in Python, but the protocol can be implemented in any
- language.
- It can also <a href="http://celeryq.org/docs/userguide/remote-tasks.html"
- >operate with other languages</a> using webhooks.</p>
- <p>The recommended message broker is <a href="http://rabbitmq.com/">RabbitMQ</a>,
- but limited support for <a href="http://redisdb.com/">Redis</a>, <a
- href="http://kr.github.com/beanstalkd/">Beanstalk</a>, <a
- href="http://www.mongodb.org/">MongoDB</a>, <a
- href="http://couchdb.apache.org/">CouchDB</a>, and databases
- (using <a href="http://www.sqlalchemy.org/">SQLAlchemy</a> or the <a
- href="http://djangoproject.com">Django ORM</a>) is also available.</p>
- Celery is easy to integrate with Django, Pylons and Flask, using
- the <a href="http://pypi.python.org/pypi/django-celery">django-celery</a>,
- <a href="http://pypi.python.org/pypi/celery-pylons">celery-pylons</a>
- and <a href="http://github.com/ask/flask-celery">flask-celery</a>add-on packages.
- <h3>Example</h3>
- <p>This is a simple task adding two numbers:</p>
- <div class="highlight"><pre><span class="kn">from</span> <span class="nn">celery.task</span> <span class="kn">import</span> <span class="n">task</span>
- <span class="nd">@task</span>
- <span class="k">def</span> <span class="nf">add</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
- <span class="k">return</span> <span class="n">x</span> <span class="o">+</span> <span class="n">y</span>
- </pre></div>
- <p>You can execute the task in the background, or wait for it to
- finish:</p>
- <div class="highlight"><pre><span class="o">>>></span> <span class="n">result</span> <span class="o">=</span> <span class="n">add</span><span class="o">.</span><span class="n">delay</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">)</span>
- <span class="o">>>></span> <span class="n">result</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span> <span class="c"># wait for and return the result</span>
- <span class="mi">16</span>
- </pre></div>
- <h3>Getting Started</h3>
- <ol>
- <li>Install celery by download or <code>pip install -U Celery</code></li>
- <li>Set up <a href="http://celeryq.org/docs/getting-started/broker-installation.html">RabbitMQ</a>
- or one of the <a href="http://celeryq.org/docs/tutorials/otherqueues.html">ghetto queue</a>
- solutions.
- <li>Select one of the following guides:
- <ul>
- <li><a
- href="http://celeryq.org/docs/getting-started/first-steps-with-celery.html">First steps with Python</a></li>
- <li><a href="http://celeryq.org/docs/django-celery/getting-started/first-steps-with-django.html">First steps with Django</a></li>
- </ul>
- </ol>
- <h3>Community</h3>
- <p>There is a <a href="http://groups.google.com/group/celery-users">mailing-list</a>
- available for general discussion.</p>
- <p>For those craving real, human interaction, there is also an IRC channel
- (<code>#celery</code> on <code>irc.freenode.net</code>).</p>
- <p>Finally, if you find a bug or would like to request a feature,
- please <a href="http://github.com/ask/celery/issues">submit an
- issue</a>.</p>
- <a name="donate"></a>
- <h3>Donate</h3>
- <p>
- <a href='http://www.pledgie.com/campaigns/8424'><img alt='Click here to lend your support to: celery and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/8424.png?skin_name=chrome' border='0' /></a>
- </p>
- <p>Donations will be used to fund infrastructure and new features.</p>
- <p>
- You can <a href='http://www.pledgie.com/campaigns/8424'
- target='_new'>donate to the project</a> using PayPal.
- For other arrangements you can send an e-mail to
- <a href="mailto:donate@celeryproject">donate@celeryproject.org</a>.
- <div class="hidden">
- <p>
-
- </p>
- <p>
-
- </p>
- <p>
-
- </p>
- </div>
- </div>
- <div class="column side">
- <span class="newsitem">
- <h2>Celery 2.1.1 bugfix release</h2>
- <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-10-14.</h4>
- <p>All users are urged to upgrade. For a list of changes see the
- <a href="http://celeryq.org/docs/changelog.html">Changelog</a>.</p>
- <p>Users of Django must also upgrade to
- <a href="http://pypi.python.org/pypi/django-celery">django-celery 2.1.1</a>.</p>
- </span>
- <span class="newsitem">
- <h2>Celery 2.1 released!</h2>
- <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-10-08.</h4>
- <p>This new version is now available at PyPI. Be sure to read the
- <a href="http://celeryq.org/docs/changelog.html">Changelog</a> before upgrading.</p>
- </span>
- <span class="newsitem">
- <h2>Celery 2.0 released!</h2>
- <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-07-02.</h4>
- <p>We're proud to announce the release of Celery 2.0. This version replaces
- the Django ORM with SQLAlchemy as the database result store. With this, Celery no
- longer depends on Django. Django integration is now available as a separate package
- called <a href="http://pypi.python.org/pypi/django-celery">django-celery</a>.
- </p>
- <p>In addition there are a lot of new features: a curses monitor, time
- limits, complex crontab expressions, callbacks, simplified routing,
- and more. Everything is detailed in the <a
- href="http://celeryq.org/docs/changelog.html#id1">Changelog</a>,
- so be sure to read it before upgrading.</p>
- </span>
- <span class="newsitem">
- <h2>Celery 1.0.6 released!</h2>
- <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-06-30.</h4>
- <p>RabbitMQ 1.8.0 came with stricter equivalence checks that broke the
- AMQP result backend, this release resolves this. If you've already used
- the AMQP backend you need to delete the previous declarations. For
- instructions please read the full
- <a href="http://celeryproject.org/docs/changelog.html">Changelog</a>.
- Download from <a href="http://pypi.python.org/pypi/celery/1.0.6">PyPI</a>,
- or simply install the upgrade using <code>pip install -U Celery==1.0.6</code>.
- <hr>
- </span>
- <span class="newsitem">
- <h2>Celery 1.0.5 released!</h2>
- <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-06-01.</h4>
- <p>This release contains some important bug fixes related to shutdown and
- broker connection loss, as well as some other minor fixes. Also
- AbortableTask has been added to contrib. Please read the full <a href="http://celeryproject.org/docs/changelog.html">Changelog</a>
- before you upgrade. Download from <a href="http://pypi.python.org/pypi/celery/1.0.5">PyPI</a>,
- or simply install the upgrade using <code>pip install -U Celery</code>.
- <hr>
- </span>
- <span class="newsitem">
- <h2>Celery 1.0.3 released!</h2>
- <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-05-15.</h4>
- <p>This release contains a drastic improvement in reliability and
- performance. Please read the full <a href="http://celeryproject.org/docs/changelog.html">Changelog</a>
- before you upgrade. Download from <a href="http://pypi.python.org/pypi/celery/1.0.3">PyPI</a>,
- or simply install the upgrade using <code>pip install -U Celery</code>.
- <hr>
- </span>
- <span class="newsitem">
- <h2>Celery 1.0.1 released!</h2>
- <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-03-20.</h4>
- <p>This is a bugfix release and has some important changes to the
- shutdown procedure. Also improved compatibility with Windows and Python
- 2.4. Read the full <a href="http://celeryproject.org/docs/changelog.html">Changelog</a>
- for more information. Download from <a
- href="http://pypi.python.org/pypi/celery/1.0.1">PyPI</a>,
- or simply install the upgrade using <code>pip install -U Celery</code>.
- <hr>
- </span>
- <span class="newsitem">
- <h2>Celery 1.0 released!</h2>
- <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-02-10</h4>
- <p>Celery 1.0 has finally been released! It is available on <a
- href="http://pypi.python.org/pypi/celery/1.0.0">PyPI</a> for
- downloading. You can also install it via <code>pip install
- Celery</code>. You can read the announcement <a href="http://celeryproject.org/celery_1.0_released.html">here</a>.
- <hr>
- </span>
- </div>
- <div style="clear:both"></div>
- </div>
- <div id="credits">
- <ul>
- <li>
- <strong>Copyright (c) 2009-2010</strong>
- <span><a href="http://twitter.com/asksol">Ask Solem</a> and
- <a href="http://github.com/ask/celery/blob/master/AUTHORS">contributors</a>.</span>
- </li>
- <li>
- <strong>Web Design</strong>
- <span><a href="http://www.helmersworks.com/">Jan Henrik Helmers</a></span>
- </li>
- </ul>
- </div>
- </div>
- </body>
- </html>
|