我目前正在使用以下方法启动多个Node.js进程 pm2
. 这些进程定义在JSON文件中,由运行的
pm2 start pm2.json
从下面的JSON文件中可以看到,有很多重复的地方。例如,对 error_file
的位置或设置变量 time
到 true
涉及到大量的重复,在JSON文件中定义10-20个这样的脚本会很乏味。
是否可以将JSON文件简单化,通过设置 time
变量只在文件中出现一次,并让它适用于所有进程?
另外,是否可以使用模板来定义 error_file
和 out_file
诸如 "../logs/${name}-error.log"
?
示例 pm2.json
{
"apps": [
{
"name": "foo-a",
"script": "./foo/a.js",
"args": "-e apple",
"error_file": "../logs/foo-a-error.log",
"out_file": "../logs/foo-a-out.log",
"time": true
},
{
"name": "foo-b",
"script": "./foo/b.js",
"args": "-e banana",
"error_file": "../logs/foo-b-error.log",
"out_file": "../logs/foo-b-out.log",
"time": true
}, {
"name": "bar-c",
"script": "./bar/c.js",
"args": "-e cranberry",
"error_file": "../logs/bar-c-error.log",
"out_file": "../logs/bar-c-out.log",
"time": true
},
...
你可以使用 js
文件 json
文件,它将允许您创建和使用通用的变量函数,以满足您的需求。repetition part
.
const time = true
module.exports = {
"apps": [
{
"name": "foo-a",
"script": "./foo/a.js",
"args": "-e apple",
"error_file": "../logs/foo-a-error.log",
"out_file": "../logs/foo-a-out.log",
"time": time
},
{
"name": "foo-b",
"script": "./foo/b.js",
"args": "-e banana",
"error_file": "../logs/foo-a-error.log",
"out_file": "../logs/foo-a-out.log",
"time": time
}, {
"name": "bar-c",
"script": "./bar/c.js",
"args": "-e cranberry",
"error_file": "../logs/bar-c-error.log",
"out_file": "../logs/bar-c-out.log",
"time": time
},
...