| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 | <!DOCTYPE html><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="favicon.png"><meta name="viewport" content="width=320, user-scalable=no"><link rel="apple-touch-icon" href="favicon_64.png"/><title>Celery - The Distributed Task Queue</title><link rel="stylesheet" href="main.css"/><link rel="stylesheet" href="trac.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></head><body><div id="navbar">  <div class="iStretch">    <div class="link" id="current"><a href="#">Home</a></div>    <div class="link"><a href="http://github.com/ask/celery">Code</a></div>    <div class="link"><a href="docs/">Documentation</a></div>    <div class="link"><a href="http://ask.github.com/celery/getting-started/">Tutorials</a></div>    <div class="link"><a href="http://pypi.python.org/pypi/celery">Download</a></div>  </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 a task queue/job queue based on distributed message passing.        It is focused on real-time operation, but support scheduling as well.</p>        <p>The execution units, called tasks, are executed concurrently on one        or more worker servers. Tasks can execute asynchronously (in the background) or        synchronously (wait until ready).</p>        <p>Celery is already used in production to process millions of tasks        a day.</p>        <p>Celery was originally created for use with Django, but is now        usable from any Python project.        It can also <a href="http://ask.github.com/celery/userguide/remote-tasks.html">operate with other languages</a> via webhooks.</p>        <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.decorators</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://ask.github.com/celery/getting-started/broker-installation.html">RabbitMQ</a>        or one of the <a href="http://ask.github.com/celery/tutorials/otherqueues.html">ghetto queue</a>        solutions.        <li>Select one of the following guides:        <ul>            <li><a href="http://ask.github.com/celery/getting-started/first-steps-with-python.html">First steps with Python</a></li>            <li><a href="http://ask.github.com/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>    <div class="hidden">        <p>                                     </p>        <p>                                     </p>        <p>                                     </p>    </div>    </div>    <div class="column">      <span class="newsitem">      <h2>Celery 1.0 released!</h2>      <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 10.02.2010</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="celery_1.0_released.html">here</a>.      <hr>      </span>      <span class="newsitem">      <h2>1.0 is in beta.</h2>      <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 08.02.2010</h4>      <p>1.0 is scheduled to be released this week! Please help us test the latest      <a href="http://github.com/ask/celery/tarball/v1.0.0-pre4">release          candiate</a> to make this happen. To upgrade from an earlier      version, please read the <a href="http://ask.github.com/celery/changelog.html">changelog</a>.      <hr>      </span>      <span class="newsitem">      <h2>New website.</h2>      <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 08.02.2010</h4>      <p>We finally got a home page. Big thanks to <a href="http://helmersworks.com">Jan Henrik Helmers</a>      <hr>      </span>    </div>  </div> <div id="credits">     <div class="iStretch">Copyright (c) 2009-2010, <a href="http://twitter.com/asksol">Ask Solem</a> and         <a href="http://github.com/ask/celery/blob/master/AUTHORS">contributors</a>.<br> Page design by <a href="http://www.helmersworks.com/">Jan Henrik Helmers</a>   </div> </div></div></body></html>
 |