Как запускать JS-скрипты каждые 5 секунд с pm2 - PullRequest
0 голосов
/ 16 мая 2018

Я установил 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. Как я могузапустить ecosystem.config.js через 20 секунд после вызова команды: pm2 start ecosystem.config.js?Какие параметры я должен установить?

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Есть хороший sails-hook-cron для парусов, который по сути является редактором crontab.

0 голосов
/ 16 мая 2018

Вам лучше использовать один непрерывный процесс с бесконечным циклом, используя интервалы внутри.

setInterval(doStuff, 5000);
...