gpt4 book ai didi

python - 如何在多个服务器之间负载平衡 celery 任务?

转载 作者:行者123 更新时间:2023-11-28 17:33:15 46 4
gpt4 key购买 nike

我在多台服务器上运行 celery,每台服务器的并发数为 2 或更多,我想对 celery 任务进行负载平衡,以便 CPU 使用率最低的服务器可以处理我的 celery 任务。

例如,假设我有 2 个服务器(A 和 B),每个服务器的并发数为 2,如果队列中有 2 个任务,我希望 A 处理一个任务,B 处理另一个任务。但是目前有可能 A 上的第一个进程将执行一个任务,而 A 上的第二个进程将在 B 空闲时执行第二个任务。

有没有一种简单的方法,通过 celery 扩展或配置,我可以将任务路由到 CPU 使用率最低的服务器?

最佳答案

最好的选择是使用来自生产服务器的 celery.send_task,然后将工作人员部署到 n 实例上。然后可以使用 celery -A proj worker -l info -Ofair 像 @ealeon 提到的那样运行这些工作人员。
这样,负载将分布在所有服务器上,而无需在消费服务器上显示代码库。

关于python - 如何在多个服务器之间负载平衡 celery 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32831111/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com