使用 PM2 监控 Gruntjs 任务运行程序,可能吗?

Monitoring Gruntjs task runner using PM2, is it possible?

我一直在创建一个 angularjs 应用程序并将 G运行tjs 添加为它的任务 运行ner..

因此,每当我尝试 运行 我的应用程序时,我都会转到项目目录并 运行 一个 G运行t 任务,即 grunt server。该命令由以下代码组成

grunt.registerTask('server',
    'start a web server with extras',
    function (target)
    {
      if (target === 'dist')
      {
        return grunt.task.run(['build', 'connect:dist:keepalive']);
      }

      grunt.task.run([
        'clean:server',
        'concurrent:server',
        'connect:livereload',
        'watch'
      ]);
    }
  );

我的项目经理给我的新任务是使​​用 pm2 控制 grunt server 以上。

因此,每当 grunt server 任务崩溃时,它将再次重新启动。是否可以使用 pm2 ?因为 AFAIK pm2 是 Node.js 的生产过程管理器,所以我真的不知道它是否适用于 G运行t 但我知道 G运行tjs 是使用 npm[=14 安装的=]

我已经设法做到了..显然解决方案很简单

首先运行 pm2 ecosystem,它会生成一个ecosystem.json

并用这个选项填充它

{
    "name": "management-app", //this is optional
    "script": "grunt", // the script that will be run
    "args": ["server"] //argument of the script
}

提供ecosystem.json的配置文件后,只需运行

pm2 start ecosystem.json 瞧!结果很好!开始喜欢这个组件了!