ala*_*ani 6 python rabbitmq celery
我在多台服务器上运行 celery,每台服务器都有 2 个或更多并发,我想对 celery 任务进行负载平衡,以便 CPU 使用率最低的服务器可以处理我的 celery 任务。
例如,假设我有 2 个服务器(A 和 B),每个服务器的并发为 2,如果队列中有 2 个任务,我希望 A 处理一个任务,B 处理另一个。但是目前有可能 A 上的第一个进程将执行一个任务,而 A 上的第二个进程将在 B 空闲时执行第二个任务。
有没有一种简单的方法,通过 celery 扩展或配置,我可以将任务路由到 CPU 使用率最低的服务器?
尝试:
“ http://docs.celeryproject.org/en/latest/userguide/optimizing.html#guide-optimizing
您可以通过启用 -Ofair 工作选项来禁用此预取行为:
$ celery -A proj worker -l info -Ofair"