对于 django 项目,我喜欢运行由 celery worker 更新的索引,以免达到页面解析时间。我注意到 celery-haystack 能够做到这一点,但我想知道为什么这么复杂。一个更简单的解决方案是简单地从 post_save 信号应用异步任务并从那里调用信号处理器,所以不要从信号处理器内部而是在之前应用异步部分。
我想我错过了什么?
我知道在删除信号的情况下实例可能不再存在......
最佳答案
那么 celery 只是任务分发器,对吧?索引是要做的工作。搜索是最终结果。当您的资源有限时,任务将排队并安排运行,工作人员可用。您可以很好地采用您的方法,但 Celery 会通过将任务委派给可能驻留在其他机器上的不同工作人员来进行优化。
关于django - 为什么 celery 干草堆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43747855/