2014-06-17 131 views
1

我最近一直在学习django,并且偶然发现了芹菜。我似乎不明白它的作用。我去过他们的网站无济于事。任何人都可以向我解释这个概念,它是真实世界的应用程序(简单来说)?芹菜django解释

+0

另请参见简单的Python作业队列https://github.com/nvie/rq – ivanperelivskiy

回答

4

Celery是一个“基于分布式消息传递的异步任务队列/作业队列”。它只是一个任务队列,或者是一个让任务尽快完成的任务。你有一个芹菜实例,你直接与你的Django或Python应用程序集成 - 这是你用来与芹菜谈话。然后,你可以配置芹菜有'工人',执行你给他们的任务。总的来说,django能够很好地处理不符合正常请求/响应周期的任务。

这些是什么类型的任务?那么,如前所述,它们不适合正常的请求/响应周期。我能想到的最好的例子就是电子邮件 - 如果您正在构建一个Web应用程序,并且希望保留用户,则需要让他们保持联系并回来,并且一个很好的方法是发送电子邮件。您每周或每天发送一次,他们可以配置何时发送。这将在请求/响应周期内非常合适,但对于像芹菜这样的产品来说,它非常完美。

其他示例是具有大量计算的长时间运行作业。虽然您通常会使用Hadoop之类的东西进行真正的大计算,但您可以使用Celery安排一些查询。如果你在做特拉维斯这样的事情,你也可以用它来安排构建。这些用途会一直持续下去,但你可能会明白这一点。

+0

很好的答案。谢谢。 – user3720855