我最近一直在学习 django,并且偶然发现了 celery。我似乎不明白它的作用。我去过他们的网站无济于事。谁能向我解释这个概念及其在现实世界中的应用(简单来说)?
最佳答案
Celery是一个“基于分布式消息传递的异步任务队列/作业队列”。它只是一个任务队列,或者是将任务放入其中以尽快完成的东西。你有一个直接与你的 django 或 python 应用程序集成的 celery 实例——这就是你用来与 celery 交谈的东西。然后,您可以将 celery 配置为让“ worker ”执行您交给他们的任务。重点是能够很好地执行不适合正常请求/响应周期的任务,而 Django 处理得很好。
这些是什么类型的任务?好吧,如前所述,它们不适合正常的请求/响应周期。我能想到的最好的例子是电子邮件——如果你正在构建一个网络应用程序并且你想留住你的用户,你需要让他们参与并回来,而做到这一点的一个好方法是发送电子邮件。您每周发送一次或每天发送一次,他们也许可以配置发送时间。这非常适合请求/响应周期,但它非常适合像 Celery 这样的东西。
其他示例是需要大量计算的长时间运行的作业。虽然您通常会使用 Hadoop 之类的东西进行非常大的计算,但您可以使用 Celery 安排一些查询。如果你正在做类似 Travis 的事情,你也可以用它来安排构建。用途不断,但您可能明白了。
关于python - celery django解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24256231/