在PM2中是否可以通过扩展名或通配符使用ignore_watch参数?

时间:2019-11-01 11:34:03

标签: node.js pm2

我正在将pm2用于我的节点应用程序。但是,每当我在文件夹之间旅行时,或者单击VSCode中的“暂存更改”,PM2都会重新启动应用程序。 我相信osX会创建.DS_Store等文件,并触发pm2监视。 因此,我可以添加一个通配符以忽略每个文件夹的此类文件。

这是我的process.json的样子;

{
    "apps": [{
            "name": "server",
            "script":"index.js",
            "max_memory_restart": "1024M",
            "node_args":"--max_old_space_size=2048",
            "watch":true,
            "ignore_watch":["ext/server/reports", "node_modules", ".git", ".vscode"],
            "args":"dev",
            "env_local": {
                "NODE_ENV": "local"
            },
            ...
        }]
}

1 个答案:

答案 0 :(得分:0)

是的,有可能。在项目的根目录下放置一个名为ecosystem.config.js的文件。

module.exports = {
  apps : [{
    name: 'project_name',
    script: 'index.js',
    instances: 1,
    autorestart: true,
    restart_delay: 5000,
    watch: true,
    max_memory_restart: '512M',
    ignore_watch: ['log-*.txt'],
    error_file: 'log-error.txt',
    out_file: 'log-output.txt'
  }]
};

此处的参数ignore-watch将为您提供帮助。例如就我而言,我忽略的文件为log-output.txt,log-error.txt。