如何使用pm2

时间:2018-05-16 07:30:57

标签: javascript process cron pm2

我在服务器上安装了pm2。我使用以下代码创建了ecosystem.config.js

module.exports = {
  apps : [
  {
    name   : "deploy",
    script : "deploy.js",
    watch       : true,
    restart_delay: 5000,
    instances: 1,
    cwd: '/usr/share/sails/scripts/',
    log_date_format: 'YYYY-MM-DD HH:mm Z',
    out_file: '/usr/share/sails/scripts/deploy.log',
    error_file: '/usr/share/sails/scripts/deploy.log',
    exec_mode: 'fork',
    env: {
      "NODE_ENV": "development",
    },
    env_production : {
       "NODE_ENV": "production"
    }
  },
  {
    name   : "check-status",
    script : "checkStatus.js",
    watch       : true,
    restart_delay: 5000,
    instances: 1,
    cwd: '/usr/share/sails/scripts/',
    log_date_format: 'YYYY-MM-DD HH:mm Z',
    out_file: '/usr/share/sails/scripts/checkStatus.log',
    error_file: '/usr/share/sails/scripts/checkStatus.log',
    exec_mode: 'fork',
    env: {
      "NODE_ENV": "development",
    },
    env_production : {
       "NODE_ENV": "production"
    }
  },
  {
    name   : "get-contract",
    script : "getContractByHash.js",
    watch       : true,
    restart_delay: 5000,
    instances: 1,
    cwd: '/usr/share/sails/scripts/',
    log_date_format: 'YYYY-MM-DD HH:mm Z',
    out_file: '/usr/share/sails/scripts/getContractByHash.log',
    error_file: '/usr/share/sails/scripts/getContractByHash.log',
    exec_mode: 'fork',
    env: {
      "NODE_ENV": "development",
    },
    env_production : {
       "NODE_ENV": "production"
    },
  }

]
}

我已设置restart_delay: 5000。 然后我通过命令ecosystem.config.js运行脚本pm2 start ecosystem.config.js,所有脚本运行得比我设置的更快。 它们每秒运行2-4次。

  1. 我需要为每5个场景设置运行脚本的属性吗?

  2. 如何在命令调用后20秒后运行ecosystem.config.jspm2 start ecosystem.config.js?我应该设置哪些参数?

2 个答案:

答案 0 :(得分:0)

最好使用单个连续过程,使用内部间隔进行无限循环。

setInterval(doStuff, 5000);

答案 1 :(得分:0)

帆有很好的sails-hook-cron,它基本上是一个crontab编辑器。