擅长:python、mysql、java
<p>您考虑过<a href="http://ask.github.com/celery/getting-started/introduction.html" rel="nofollow">Celery</a>或其他标准队列/代理消息传递系统吗?django芹菜是一种非常成熟和成熟的芹菜,是专门为这类任务而设计的。在</p>
<pre><code>Django -> Celery > Worker Process (always running)
^ |-> Worker Process
| `-> Worker Process -,
\______ Job Complete _____/
</code></pre>
<p>基本思想是,您总是运行工作进程(在一个或多个服务器上),等待消息传入。(这些可以是pickled对象或json或任何您想要的东西)。这些进程空闲等待celeri(它是RabbitMQ后端)向它们发出消息/作业。处理完消息/作业后,通知将通过代理返回,并在django中调用回调,在该回调中更新状态。在</p>
<blockquote>
<p>Celery is a 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. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).</p>
</blockquote>