Работающий работает в фоновом режиме и прослушивает сообщения через Redis.Когда поступают сообщения для запуска задачи, работник начинает обрабатывать его и отправлять сообщение обратно в Redis, когда задача завершена.
Теперь я хочу оптимизировать ресурсы, чтобы иметь возможность запускать дополнительного работника.(рабочий на ядро процессора), когда уже выполняется одна задача, но появляется новая задача.
Если я запускаю ее так:
pm2 start -i max myWorker.js
Я вижу, что 4 рабочих экземпляразапускаются, но затем, когда я отправляю задачу, они все загружаются, и их потребление процесса возрастает до 100%, поэтому я подозреваю, что каждый из них работает над одной и той же задачей, и в результате одна задача запускается 4 раза за разчто не имеет смысла.
Какова стратегия распределения нагрузки между работниками, чтобы 1 задание было отправлено только одному работнику?