Как исключить один из процессов (instance) из LB pm2 без отключения сервеса?
Дано: pm2 start app.js -i 2
0 │ app │ default │ 1.0.1 │ cluster │ 21612 │ 0s │ 0 │ online │ 0% │ 36.3mb │ Costar │ disabled
1 │ app │ default │ 1.0.1 │ cluster │ 17524 │ 0s │ 0 │ online │ 0% │ 34.6mb │ Costar │ disabled
Возмжно ли с помощью кода исключить один из процессов (instance) из LB pm2, так чтобы все запросы уходили только в оставшиеся процессы?
К примеру исключить процесс 0 и перенаправить все запросы на 1.
Но при этом не отключать сам процесс и не останавливать его с помощью pm2 stop 0 или pm2 delete 0.
И не закрывать сам сервер server.close()
Ответы (1 шт):
Вы можете использовать pm2 scale чтобы масштабировать по вертикали количество процессов во время выполнения. Обратите внимание, что он работает только с режим кластера. Пример:
pm2 scale APPNAME +2добавит два процесса.pm2 scale APPNAME -1уберет один процесс.
Свободный перевод ответа https://stackoverflow.com/a/39667695/4496422