浏览代码

Updated documentation

Ask Solem 14 年之前
父节点
当前提交
7e187814f7

+ 3 - 1
docs/contributing.rst

@@ -141,6 +141,8 @@ been made on your bug. In the event you've turned this feature off, you
 should check back on occasion to ensure you don't miss any questions a
 should check back on occasion to ensure you don't miss any questions a
 developer trying to fix the bug might ask.
 developer trying to fix the bug might ask.
 
 
+.. _`GitHub`: http://github.com
+
 .. _issue-trackers:
 .. _issue-trackers:
 
 
 Issue Trackers
 Issue Trackers
@@ -208,7 +210,7 @@ is following the conventions.
             Short description.
             Short description.
             """
             """
 
 
-.. `PEP-257`: http://www.python.org/dev/peps/pep-0257/
+.. _`PEP-257`: http://www.python.org/dev/peps/pep-0257/
 
 
 * Lines should not exceed 78 columns.
 * Lines should not exceed 78 columns.
 
 

+ 261 - 0
docs/homepage/community.html

@@ -0,0 +1,261 @@
+<!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"><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="docs/">Documentation</a></div>
+    <div class="link" id="current"><a href="community.html">Community</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>Community Links</h2>
+
+<p class="communitylink"><a href="http://ericholscher.com/blog/2010/nov/11/building-django-app-server-chef-part-4/
+">Building a Django App Server with Chef</a></p>
+<p class="communitylink"><a href="http://trespams.com/2010/11/13/introduccio-celery/
+">Introducció a Celery (Catalan)</a></p>
+
+<p class="communitylink"><a href="http://tensixtyone.com/django-and-celery-death-to-cron
+">Django and Celery - Death to Cron</a></p>
+
+<p class="communitylink"><a href="http://ericholscher.com/blog/2010/nov/2/celery-tips/
+">Celery Tips</a></p>
+
+<p class="communitylink"><a href="http://jacobian.org/writing/favorite-apps/
+">What's your favorite Django app?</a></p>
+
+<p class="communitylink"><a href="http://ericholscher.com/blog/2010/nov/1/virtualenv-tips/
+">Virtualenv Tips</a></p>
+
+<p class="communitylink"><a href="http://iamseb.com/seb/2010/10/10-django-tools/
+">10 Tools That Make Django Better</a></p>
+
+<p class="communitylink"><a href="http://www.loose-bits.com/2010_10_10_archive.html
+">Distributed Task Locking in Celery</a></p>
+
+<p class="communitylink"><a href="http://www.bitbybit.ru/article/216
+">Celery — распределенные очереди задач на Python (Russian)</a></p>
+
+<p class="communitylink"><a href="http://vorushin.ru/blog/34-celery-described/
+">Подробнее о Celery (Russian)</a></p>
+
+<p class="communitylink"><a href="http://blog.timc3.com/2010/10/17/celery-rabbitmq-and-sending-messages-directly/
+">Celery, RabbitMQ and sending messages directly.</a></p>
+
+<p class="communitylink"><a href="http://blog.avelino.us/2010/10/cron-dentro-do-django-com-celery.html
+">Cron dentro do Django com Celery (Portugese)</a></p>
+
+<p class="communitylink"><a href="http://d.hatena.ne.jp/yuku_t/
+">RabbitMQとCeleryを使ってDjangoでジョブキューしてみる (Japanese)</a></p>
+
+<p class="communitylink"><a href="http://www.scribd.com/doc/37562923/Kaninchen-Schlangen-RabbitMQ-Python
+">Kaninchen & Schlangen: RabbitMQ & Python (German)</a></p>
+
+<p class="communitylink"><a href="http://www.scribd.com/doc/39203296/Celery-Eine-asynchrone-Task-Queue-nicht-nur-fur-Django
+">Celery - Eine asynchrone Task Queue (nicht nur) für Django (German)</a></p>
+
+<p class="communitylink"><a href="http://blog.historio.us/asynchronous-processing-using-celery
+">Asynchronous Processing Using Celery (historio.us)</a></p>
+
+<p class="communitylink"><a href="http://www.slideshare.net/shawnrider/massaging-the-pony-message-queues-and-you
+">"Massaging the Pony: Message Queues and You" (Djangocon 2010)</a></p>
+
+<p class="communitylink"><a href="http://www.slideshare.net/ericholscher/large-problems
+">"Large problems, Mostly Solved" (Djangocon 2010)</a></p>
+
+<p class="communitylink"><a href="http://shawnmilo.blogspot.com/2010/07/simple-celery-with-django-how-to.html
+">A Simple Celery with Django How-To</a></p>
+
+<p class="communitylink"><a href="http://www.davidfischer.name/2010/09/django-and-asynchronous-jobs/
+">Django and asynchronous jobs</a></p>
+
+<p class="communitylink"><a href="http://www.proft.com.ua/2010/09/4/celery-dobavlyaem-parallelizm-v-django/
+">Celery: добавляем параллелизм в Django (Russian)</a></p>
+
+<p class="communitylink"><a href="http://in.pycon.org/2010/static/files/talks/50/mahendra-celery-pycon-2010.pdf
+">Celery presentation at PyCon India 2010 (PDF slides)</a></p>
+
+<p class="communitylink"><a href="http://tumblr.whatupderek.com/post/1072002968/celery-django-and-virtualenv-playing-nice
+">celery, django and virtualenv playing nice.</a></p>
+
+<p class="communitylink"><a href="http://justinvoss.wordpress.com/2010/06/22/django-task-queueing-with-celery/
+">Django Task Queueing with Celery</a></p>
+
+<p class="communitylink"><a href="http://www.slideshare.net/matclayton/django-celery
+">django-celery presentation at DJUGL 2010.</a></p>
+
+<p class="communitylink">
+<a href="http://bitkickers.blogspot.com/2010/07/djangocelery-quickstart-or-how-i.html
+">Django/Celery Quickstart (or, how I learned to stop using cron and love
+celery)</a></p>
+
+<p class="communitylink">
+<a href="http://blog.notdot.net/2010/06/Using-Python-magic-to-improve-the-deferred-API
+">Using Python magic to improve the deferred API</a></p>
+
+<p class="communitylink">
+<a href="http://jasonmbaker.com/how-celery-carrot-and-your-messaging-stack-wo
+">How Celery, Carrot, and your messaging stack work</a></p>
+
+<p class="communitylink">
+<a href="http://ericholscher.com/blog/2010/jun/23/large-problems-django-mostly-solved-delayed-execut/
+">Large Problems in Django, Mostly Solved: Delayed Execution</a></p>
+
+<p class="communitylink">
+
+    <div style="width:425px;text-align:left" id="__ss_2089054">
+    <a style="font:14px Helvetica,Arial,Sans-serif;display:block;
+    margin:12px 0 3px 0;text-decoration:underline;" 
+    href="http://www.slideshare.net/idangazit/an-introduction-to-celery"
+    title="An Introduction to Celery">An Introduction to Celery</a>
+    <object style="margin:0px" width="425" height="355"> <param name="movie"
+    value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pyweb-celery-090929081406-phpapp01&stripped_title=an-introduction-to-celery" />
+    <param name="allowFullScreen" value="true"/><param name="allowScriptAccess"
+    value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pyweb-celery-090929081406-phpapp01&stripped_title=an-introduction-to-celery" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355">
+    </embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more
+    <a style="text-decoration:underline;"
+    href="http://www.slideshare.net/">documents</a>
+    from <a style="text-decoration:underline;"
+    href="http://www.slideshare.net/idangazit">Idan Gazit</a>.</div></div>
+</p>
+
+<p class="communitylink">
+<a href="http://robertpogorzelski.com/blog/2009/09/10/rabbitmq-celery-and-django/
+">RabbitMQ, Celery and Django</a>
+
+<p>
+Great Celery tutorial by Robert Pogorzelski at his blog "Happy Stream of
+Thoughts"</p>
+
+<p class="communitylink">
+<a href="http://mathematism.com/2010/feb/16/message-queues-django-and-celery-quick-start/
+">Message Queues, Django and Celery Quick Start</a>
+</p>
+
+<p class="communitylink">
+<a href="http://www.turnkeylinux.org/blog/django-celery-rabbitmq
+">Background task processing and deferred execution in Django</a>.
+</p>
+
+<p class="communitylink">
+<a href="http://timbull.com/build-a-processing-queue-with-multi-threading
+">Build a processing queue [...] in less than a day using RabbitMQ and
+Celery</a>
+
+<p class="communitylink">
+<a href="http://www.playingwithwire.com/2009/10/how-to-get-celeryd-to-work-on-freebsd/
+">How to get celeryd to work on FreeBSD</a>
+
+<p>
+Installing multiprocessing on FreeBSD isn't that easy, but thanks to Viktor Petersson
+we now have a step-to-step guide.
+</p>
+
+<p class="communitylink">
+<a href="http://ojs.pythonpapers.org/index.php/tppm/article/viewFile/105/122
+">Web-based 3D animation software (PDF)</a></p>
+<p>
+Indy Chang Liu at ThinkingCactus uses Celery to render animations
+asynchronously.
+</p>
+
+<p class="communitylink">
+<a href="http://stepsandnumbers.com/archive/2010/01/04/queued-storage-backend-for-django/
+">Queued Storage Backend for Django</a>
+</p>
+
+<p class="communitylink">
+<a href="http://www.slideshare.net/hungryblank/rabbitmq-with-python-and-ruby-rupy-2009
+">RabbitMQ with Python and Ruby</a>
+</p>
+    </div>
+
+
+<div class="column side">
+    <h2>Resources</h2>
+
+    <ul>
+        <li><a
+            href="http://wiki.github.com/ask/celery/using">Who's
+            using Celery</a></li>
+        <li><a href="http://wiki.github.com/ask/celery/">Celery
+            Wiki</a></li>
+        <li><a
+            href="http://stackoverflow.com/search?q=celery&tab=newest">Celery
+            questions on Stack Overflow</a></li>
+        <li><a
+            href="http://blog.gmane.org/gmane.comp.python.amqp.celery.user">celery-users
+            mailing list archive</a></li>
+        <li><a href="http://botland.oebfare.com/logger/celery/">IRC Logs
+            for the <code>#celery</code> channel</a></li>
+    </ul>
+    </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>
+
+<!-- This document saved from http://celeryproject.org/ -->

+ 2 - 2
docs/homepage/index.html

@@ -30,10 +30,10 @@ pageTracker._trackPageview();
 <body>
 <body>
 <div id="navbar">
 <div id="navbar">
   <div class="iStretch">
   <div class="iStretch">
-    <div class="link" id="current"><a href="">Home</a></div>
+    <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://github.com/ask/celery">Code</a></div>
     <div class="link"><a href="http://celeryq.org/docs/">Documentation</a></div>
     <div class="link"><a href="http://celeryq.org/docs/">Documentation</a></div>
-    <div class="link"><a href="http://celeryq.org/docs/getting-started/">Tutorials</a></div>
+    <div class="link"><a href="community.html">Community</a></div>
     <div class="link"><a href="http://pypi.python.org/pypi/celery">Download</a></div>
     <div class="link"><a href="http://pypi.python.org/pypi/celery">Download</a></div>
   </div>
   </div>
 </div>
 </div>

+ 3 - 1
docs/includes/resources.txt

@@ -39,7 +39,7 @@ Wiki
 
 
 http://wiki.github.com/ask/celery/
 http://wiki.github.com/ask/celery/
 
 
-.. _contributing:
+.. _contributing-short:
 
 
 Contributing
 Contributing
 ============
 ============
@@ -50,6 +50,8 @@ You are highly encouraged to participate in the development
 of `celery`. If you don't like Github (for some reason) you're welcome
 of `celery`. If you don't like Github (for some reason) you're welcome
 to send regular patches.
 to send regular patches.
 
 
+See also the Contributing section in the Documentation.
+
 .. _license:
 .. _license:
 
 
 License
 License

+ 1 - 0
docs/index.rst

@@ -15,6 +15,7 @@ Contents:
     configuration
     configuration
     cookbook/index
     cookbook/index
     community
     community
+    contributing
     tutorials/index
     tutorials/index
     faq
     faq
     reference/index
     reference/index

+ 1 - 0
docs/userguide/index.rst

@@ -19,3 +19,4 @@
     remote-tasks
     remote-tasks
     routing
     routing
     monitoring
     monitoring
+    optimizing

+ 4 - 3
docs/userguide/optimizing.rst

@@ -30,11 +30,12 @@ Prefetch limit
 The prefetch limit is a limit for how many tasks a worker can reserve
 The prefetch limit is a limit for how many tasks a worker can reserve
 in advance.  If this is set to zero, the worker will keep consuming
 in advance.  If this is set to zero, the worker will keep consuming
 messages *ad infinitum*, not respecting that there may be other
 messages *ad infinitum*, not respecting that there may be other
-available worker nodes that may even be able to process them sooner.
+available worker nodes (that may be able to process them sooner),
+or that the messages may not fit in memory.
 
 
-In the worker the initial prefetch count is set by multiplying
+The workers initial prefetch count is set by multiplying
 the :setting:`CELERYD_PREFETCH_MULTIPLIER` setting by the number
 the :setting:`CELERYD_PREFETCH_MULTIPLIER` setting by the number
-of child worker processes.
+of child worker processes.  The default is 4 messages per child process.
 
 
 If you have many expensive tasks with a long duration you would want
 If you have many expensive tasks with a long duration you would want
 the multiplier value to be 1, which means it will only reserve one
 the multiplier value to be 1, which means it will only reserve one