python - celery django解释

标签 python django celery

我最近一直在学习 django,并且偶然发现了 celery。我似乎不明白它的作用。我去过他们的网站无济于事。谁能向我解释这个概念及其在现实世界中的应用(简单来说)?

最佳答案

Celery是一个“基于分布式消息传递的异步任务队列/作业队列”。它只是一个任务队列,或者是将任务放入其中以尽快完成的东西。你有一个直接与你的 django 或 python 应用程序集成的 celery 实例——这就是你用来与 celery 交谈的东西。然后,您可以将 celery 配置为让“ worker ”执行您交给他们的任务。重点是能够很好地执行不适合正常请求/响应周期的任务,而 Django 处理得很好。

这些是什么类型的任务?好吧,如前所述,它们不适合正常的请求/响应周期。我能想到的最好的例子是电子邮件——如果你正在构建一个网络应用程序并且你想留住你的用户,你需要让他们参与并回来,而做到这一点的一个好方法是发送电子邮件。您每周发送一次或每天发送一次,他们也许可以配置发送时间。这非常适合请求/响应周期,但它非常适合像 Celery 这样的东西。

其他示例是需要大量计算的长时间运行的作业。虽然您通常会使用 Hadoop 之类的东西进行非常大的计算,但您可以使用 Celery 安排一些查询。如果你正在做类似 Travis 的事情,你也可以用它来安排构建。用途不断,但您可能明白了。

关于python - celery django解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24256231/

相关文章:

python - 如何在恒定长度内找到两个字符串的所有可能排列

python - django-allauth:如何修改电子邮件确认网址?

python - 本地时区是什么

python - Django 与 C++ 通信

django - 在 Django 中,如何使模型引用自身?

Django的/ Apache /的mod_wsgi : No module named importlib

python - 使用链 EncodeError(RuntimeError('获取对象的 str 时超出最大递归深度)) 时如何解决 python Celery 错误

JavaScript 生成 : How to pass variable to FLAG in Spawn python script

python - 如何在 celery 中设置回调

django - Djcelery 强制使用 'database' 后端,如何正确绕过它?