index.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="keywords" content="task queue, job queue, asynchronous, rabbitmq, amqp,
  6. redis, django, python, webhooks, queue, distributed">
  7. <meta name="description" content="open source distributed task queue" >
  8. <link rel="icon" type="image/png" href="favicon.png">
  9. <meta name="viewport" content="width=320, user-scalable=no">
  10. <link rel="apple-touch-icon" href="favicon_64.png"/>
  11. <title>Celery - The Distributed Task Queue</title>
  12. <link rel="stylesheet" href="main.css"/>
  13. <link rel="stylesheet" href="trac.css"/>
  14. <script type="text/javascript">
  15. var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  16. document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  17. </script>
  18. <script type="text/javascript">
  19. try {
  20. var pageTracker = _gat._getTracker("UA-12986238-1");
  21. pageTracker._trackPageview();
  22. } catch(err) {}</script>
  23. </head>
  24. <body>
  25. <div id="navbar">
  26. <div class="iStretch">
  27. <div class="link" id="current"><a href="#">Home</a></div>
  28. <div class="link"><a href="http://github.com/ask/celery">Code</a></div>
  29. <div class="link"><a href="http://celeryq.org/docs/">Documentation</a></div>
  30. <div class="link"><a href="http://celeryq.org/docs/getting-started/">Tutorials</a></div>
  31. <div class="link"><a href="http://pypi.python.org/pypi/celery">Download</a></div>
  32. </div>
  33. </div>
  34. <div class="iStretch">
  35. <div id="topcontainer">
  36. <ul>
  37. <li>Background Processing
  38. <li>Distributed
  39. <li>Asynchronous/Synchronous
  40. <li>Concurrency
  41. <li>Periodic Tasks
  42. <li>Retries
  43. </ul>
  44. </div>
  45. <div id="contentcontainer">
  46. <div class="column">
  47. <h2>Distributed Task Queue</h2>
  48. <p> Celery is an asynchronous task queue/job queue based on distributed message passing.
  49. It is focused on real-time operation, but supports scheduling as well.</p>
  50. <p>The execution units, called tasks, are executed concurrently on a single or
  51. more worker servers. Tasks can execute asynchronously (in the background) or synchronously
  52. (wait until ready).</p>
  53. <p>Celery is already used in production to process millions of tasks a day.</p>
  54. <p>Celery is written in Python, but the protocol can be implemented in any
  55. language.
  56. It can also <a href="http://celeryq.org/docs/userguide/remote-tasks.html"
  57. >operate with other languages</a> using webhooks.</p>
  58. <p>The recommended message broker is <a href="http://rabbitmq.com">RabbitMQ</a>,
  59. but support for <a href="http://redisdb.com">Redis</a> and databases
  60. is also available.</p>
  61. <p>You may also be pleased to know that full
  62. <a href="http://pypi.python.org/pypi/django-celery">Django integration</a>exists,
  63. delivered by the django-celery package.</p>
  64. <h3>Example</h3>
  65. <p>This is a simple task adding two numbers:</p>
  66. <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>
  67. <span class="nd">@task</span>
  68. <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>
  69. <span class="k">return</span> <span class="n">x</span> <span class="o">+</span> <span class="n">y</span>
  70. </pre></div>
  71. <p>You can execute the task in the background, or wait for it to
  72. finish:</p>
  73. <div class="highlight"><pre><span class="o">&gt;&gt;&gt;</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>
  74. <span class="o">&gt;&gt;&gt;</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>
  75. <span class="mi">16</span>
  76. </pre></div>
  77. <h3>Getting Started</h3>
  78. <ol>
  79. <li>Install celery by download or <code>pip install -U celery</code></li>
  80. <li>Set up <a href="http://celeryq.org/docs/getting-started/broker-installation.html">RabbitMQ</a>
  81. or one of the <a href="http://celeryq.org/docs/tutorials/otherqueues.html">ghetto queue</a>
  82. solutions.
  83. <li>Select one of the following guides:
  84. <ul>
  85. <li><a
  86. href="http://celeryq.org/docs/getting-started/first-steps-with-celery.html">First steps with Python</a></li>
  87. <li><a href="http://celeryq.org/docs/django-celery/getting-started/first-steps-with-django.html">First steps with Django</a></li>
  88. </ul>
  89. </ol>
  90. <h3>Community</h3>
  91. <p>There is a <a href="http://groups.google.com/group/celery-users">mailing-list</a>
  92. available for general discussion.</p>
  93. <p>For those craving real, human interaction, there is also an IRC channel
  94. (<code>#celery</code> on <code>irc.freenode.net</code>).</p>
  95. <p>Finally, if you find a bug or would like to request a feature,
  96. please <a href="http://github.com/ask/celery/issues">submit an
  97. issue</a>.</p>
  98. <div class="hidden">
  99. <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  100. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  101. </p>
  102. <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  103. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  104. </p>
  105. <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  106. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  107. </p>
  108. </div>
  109. </div>
  110. <div class="column">
  111. <span class="newsitem">
  112. <h2>Celery 1.0.6 released!</h2>
  113. <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-06-30.</h4>
  114. <p>RabbitMQ 1.8.0 came with stricter equivalence checks that broke the
  115. AMQP result backend, this release resolves this. If you've already used
  116. the AMQP backend you need to delete the previous declarations. For
  117. instructions please read the full
  118. <a href="http://celeryproject.org/docs/changelog.html">changelog</a>.
  119. Download from <a href="http://pypi.python.org/pypi/celery/1.0.6">PyPI</a>,
  120. or simply install the upgrade using <code>pip install -U celery==1.0.6</code>.
  121. <hr>
  122. </span>
  123. <span class="newsitem">
  124. <h2>Celery 1.0.5 released!</h2>
  125. <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-06-01.</h4>
  126. <p>This release contains some important bugfixes related to shutdown and
  127. broker connection loss, as well as some other minor fixes. Also
  128. AbortableTask has been added to contrib. Please read the full <a href="http://celeryproject.org/docs/changelog.html">changelog</a>
  129. before you upgrade. Download from <a href="http://pypi.python.org/pypi/celery/1.0.5">PyPI</a>,
  130. or simply install the upgrade using <code>pip install -U celery</code>.
  131. <hr>
  132. </span>
  133. <span class="newsitem">
  134. <h2>Celery 1.0.3 released!</h2>
  135. <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-05-15.</h4>
  136. <p>This release contains a drastic improvement in reliability and
  137. performance. Please read the full <a href="http://celeryproject.org/docs/changelog.html">changelog</a>
  138. before you upgrade. Download from <a href="http://pypi.python.org/pypi/celery/1.0.3">PyPI</a>,
  139. or simply install the upgrade using <code>pip install -U celery</code>.
  140. <hr>
  141. </span>
  142. <span class="newsitem">
  143. <h2>Celery 1.0.1 released!</h2>
  144. <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-03-20.</h4>
  145. <p>This is a bugfix release and has some important changes to the
  146. shutdown procedure. Also improved compatibility with Windows and Python
  147. 2.4. Read the full <a href="http://celeryproject.org/docs/changelog.html">Changelog</a>
  148. for more information. Download from <a
  149. href="http://pypi.python.org/pypi/celery/1.0.1">PyPI</a>,
  150. or simply install the upgrade using <code>pip install -U celery</code>.
  151. <hr>
  152. </span>
  153. <span class="newsitem">
  154. <h2>Celery 1.0 released!</h2>
  155. <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-02-10</h4>
  156. <p>Celery 1.0 has finally been released! It is available on <a
  157. href="http://pypi.python.org/pypi/celery/1.0.0">PyPI</a> for
  158. downloading. You can also install it via <code>pip install
  159. celery</code>. You can read the announcement <a href="celery_1.0_released.html">here</a>.
  160. <hr>
  161. </span>
  162. <span class="newsitem">
  163. <h2>1.0 is in beta.</h2>
  164. <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-02-08</h4>
  165. <p>1.0 is scheduled to be released this week! Please help us test the latest
  166. <a href="http://github.com/ask/celery/tarball/v1.0.0-pre4">release
  167. candiate</a> to make this happen. To upgrade from an earlier
  168. version, please read the <a href="http://celeryq.org/docs/changelog.html">changelog</a>.
  169. <hr>
  170. </span>
  171. <span class="newsitem">
  172. <h2>New website.</h2>
  173. <h4>By <a href="http://twitter.com/asksol">@asksol</a> on 2010-02-08</h4>
  174. <p>We finally got a home page. Big thanks to <a href="http://helmersworks.com">Jan Henrik Helmers</a>
  175. <hr>
  176. </span>
  177. </div>
  178. </div>
  179. <div id="credits">
  180. <div class="iStretch">Copyright (c) 2009-2010, <a href="http://twitter.com/asksol">Ask Solem</a> and
  181. <a href="http://github.com/ask/celery/blob/master/AUTHORS">contributors</a>.<br>
  182. Page design by <a href="http://www.helmersworks.com/">Jan Henrik Helmers</a>
  183. </div>
  184. </div>
  185. </div>
  186. </body>
  187. </html>