Как исключить один из процессов (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 шт):

Автор решения: nörbörnën

Вы можете использовать pm2 scale чтобы масштабировать по вертикали количество процессов во время выполнения. Обратите внимание, что он работает только с режим кластера. Пример:

  • pm2 scale APPNAME +2 добавит два процесса.

  • pm2 scale APPNAME -1 уберет один процесс.


Свободный перевод ответа https://stackoverflow.com/a/39667695/4496422

→ Ссылка