fro*_*g32 9 python redis celery
是否可以使用相同的redis数据库用于使用芹菜的多个项目?就像使用密钥前缀将多个项目的相同数据库用作缓存一样.或者我是否必须为每个安装使用单独的数据库?
Cha*_*tha 13
总结来自这篇有用的博客文章:http://kfalck.net/2013/02/21/run-multiple-celeries-on-a-single-redis
我使用了 celery 的 redis 后端,同时还使用带有前缀缓存数据的相同 redis 数据库。我在开发过程中就是这样做的,我只使用redis作为结果后端而不是对任务进行排队,并且生产部署最终都是AMQP(redis仅用于缓存)。我没有遇到任何问题,也不明白为什么会出现问题(除了性能问题)。
对于运行具有不同任务定义的多个 celery 项目,我认为问题是如果您有两种不同类型的工作人员,每种工作人员只能处理工作类型的子集。如果没有单独的数据库,我不确定工人们如何知道他们可以处理哪些工作。
我可能要么想确保所有工作人员都定义了所有任务类型并且可以处理任何内容,要么希望将单独的项目保留在单独的数据库中。这不需要安装任何额外的东西,你只需在你的 celery 项目之一中指定 REDIS_DB=1 即可。可能还有另一种方法可以做到这一点。我不确定是否需要多个数据库,但这有点道理。
如果您仅将 Redis 用于结果后端,也许这适用于在一个 Redis 数据库上拥有多个 celery 项目......我不太确定。
| 归档时间: |
|
| 查看次数: |
3298 次 |
| 最近记录: |