Javascript PM2在运行时更改群集进程大小

Javascript PM2在运行时更改群集进程大小,javascript,node.js,pm2,Javascript,Node.js,Pm2,有人知道在NodeJS PM2中是否可以在运行时更改应用程序的集群进程数吗 问候 Philipp以json格式指定pm2设置: { "apps": [{ "name": "server", "script" : "index.js", "instances": 2, "exec_mode: "cluster", "cwd": "/path/to/script" }] } 启动服务器: pm2 start application.json 假设要再添

有人知道在NodeJS PM2中是否可以在运行时更改应用程序的集群进程数吗

问候
Philipp

以json格式指定pm2设置:

{
 "apps": [{
    "name": "server",
    "script" : "index.js",
    "instances": 2,
    "exec_mode: "cluster",
    "cwd": "/path/to/script"
 }]
}
启动服务器:

pm2 start application.json
假设要再添加两个实例,只需再次运行相同的命令:

pm2 start application.json
检查流程列表:

pm2 list
要测试所有4个实例是否在群集模式下运行,请执行以下操作:

pm2 restart server

它将重新启动4个进程中的每一个。

您可以使用
pm2 scale
在运行时垂直缩放进程数,请注意,它仅适用于群集模式。 例如:

  • pm2 scale APPNAME 2
    将流程缩放到正好2个实例
  • pm2比例APPNAME+2
    将添加两个过程
  • pm2比例APPNAME-1
    将删除一个进程

在运行时(应用程序启动后),有两种方法可以“缩放”应用程序:

1) 使用命令行(记录在“实时扩展集群”中),如下所示:

pm2 scale <app name> <n>

为了澄清,您是否询问在启动应用程序运行后是否可以更改群集进程的数量?请注意,“pm2缩放APPNAME 2”不会添加两个进程,而是缩放到总共两个进程。使用“+2”添加两个进程。请参阅我关于使用编程API进行缩放的回答。
错误:未知选项“-1”
pm2.scale(<APPNAME>, <SCALE_TO>, errback)
var pm2 = require('pm2');
pm2.connect(function (err) {
    pm2.scale('appname', 4, function(err, procs) {
        console.log('SCALE err: ', err);
        console.log('SCALE procs: ', procs);
    });
});