django - 为什么 celery 干草堆?

标签 django django-haystack django-celery

对于 django 项目,我喜欢运行由 celery worker 更新的索引,以免达到页面解析时间。我注意到 celery-haystack 能够做到这一点,但我想知道为什么这么复杂。一个更简单的解决方案是简单地从 post_save 信号应用异步任务并从那里调用信号处理器,所以不要从信号处理器内部而是在之前应用异步部分。

我想我错过了什么?

我知道在删除信号的情况下实例可能不再存在......

最佳答案

那么 celery 只是任务分发器,对吧?索引是要做的工作。搜索是最终结果。当您的资源有限时,任务将排队并安排运行,工作人员可用。您可以很好地采用您的方法,但 Celery 会通过将任务委派给可能驻留在其他机器上的不同工作人员来进行优化。

关于django - 为什么 celery 干草堆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43747855/

相关文章:

django - 在 Django 中使用 limit_choices_to 中的字段值

python - 如何按不可用的值过滤搜索

python - Django 按模型日期时间字段中指定的时间执行任务

python - 来自 1.1 的新 django 应用程序导致 500 错误

python - 如何制作 必填 : boolean field in model Django

python - 连接到 Docker 容器上的 PostgreSQL 数据库

django - 使用带有 Elasticsearch 的Django干草堆自动完成功能搜索数字/数字吗?

django - 如何使用 django-haystack SearchQuerySet 过滤结果?

python - Celery:长期专用的单一任务与短期的多项任务

django 数据库作为 celery 代理给出连接被拒绝的错误