禁用八卦、交际、心跳对芹菜工有什么影响?
回答问题
禁用八卦、交际和心跳对我的芹菜工人有什么影响?
为了减少发送到 CloudAMQP 的消息数量以保持在免费计划内,我决定遵循这些建议。因此,我使用了选项--without-gossip --without-mingle --without-heartbeat。从那时起,我在所有 celery 项目中默认使用这些选项,但我不确定是否有任何我不知道的副作用。
请注意:
-
我们现在转移到了一个 Redis 代理,并且对发送到代理的消息数量没有太多限制
-
我们有几个实例运行多个具有多个队列的芹菜工人
Answers
这是基本的文档没有给我们太多信息
心跳
与工作人员和代理之间的通信有关(在您的情况下,代理是 CloudAMQP)。见解释
使用--without-heartbeat,工作人员不会发送心跳事件
交融
它只在启动时向其他工作人员询问“逻辑时钟”和“撤销的任务”。
取自whatsnew-3.1
工作人员现在将尝试与同一集群中的其他工作人员同步。
同步数据目前包括撤销的任务和逻辑时钟。
这仅在启动时发生,并导致一秒钟的启动延迟以收集其他工作人员的广播响应。
您可以使用 --without-mingle 参数禁用此引导步骤。
另见文档
闲话
工人向所有其他工人发送事件,这目前用于“时钟同步”,但也可以编写自己的事件处理程序,例如on_node_join,参见文档
取自whatsnew-3.1
工作人员现在被动地订阅与工作人员相关的事件,例如心跳。
这意味着一个工作人员知道其他工作人员在做什么,并且可以检测他们是否下线。目前这仅用于时钟同步,但未来添加的可能性很多,您可以编写利用这一点的扩展。
一些想法包括共识协议、将任务重新路由到最佳工作人员(基于资源使用或数据位置)或在工作人员崩溃时重新启动它们。
我们相信,虽然这是一个小小的补充,但它开启了惊人的可能性。
您可以使用 --without-gossip 参数禁用此引导步骤。
更多推荐

所有评论(0)