【发布时间】:2020-10-15 11:32:14
【问题描述】:
我正在使用命令pm2 start apps.json 在一个命令中启动多个应用程序。这些应用在apps.json中定义:
{
"apps": [
{
"name": "foo",
"script": "./foo.js",
},
{
"name": "bar",
"script": "./bar.js",
},
{
"name": "baz",
"script": "./baz.js",
}
]
}
问题:是否可以定义启动顺序,使得foo.js必须先完成启动,然后bar.js和baz.js才能启动?
例如,foo.js 可以通过 perform a graceful start,运行 process.send('ready') 将其 pm2 状态更改为 online。只有这样bar.js 和baz.js 才会被pm2 启动。这将类似于 Docker Compose 的 depend_on 参数。
【问题讨论】:
-
有一些问题会影响可能的方法: 1. 它们的启动顺序是否同步。或异步。 2. 他们是否暴露了任何端口; 3. 它们是单例的吗,也就是说,是否可以安全地假设每个系统中只有 1 个将在单个系统上运行。
标签: javascript node.js ubuntu pm2