Как сбалансировать нагрузку 1 задача на одного работника? - PullRequest
1 голос
/ 09 апреля 2019

Работающий работает в фоновом режиме и прослушивает сообщения через Redis.Когда поступают сообщения для запуска задачи, работник начинает обрабатывать его и отправлять сообщение обратно в Redis, когда задача завершена.

Теперь я хочу оптимизировать ресурсы, чтобы иметь возможность запускать дополнительного работника.(рабочий на ядро ​​процессора), когда уже выполняется одна задача, но появляется новая задача.

Если я запускаю ее так:

pm2 start -i max myWorker.js

Я вижу, что 4 рабочих экземпляразапускаются, но затем, когда я отправляю задачу, они все загружаются, и их потребление процесса возрастает до 100%, поэтому я подозреваю, что каждый из них работает над одной и той же задачей, и в результате одна задача запускается 4 раза за разчто не имеет смысла.

Какова стратегия распределения нагрузки между работниками, чтобы 1 задание было отправлено только одному работнику?

...