避免为pm2 cron作业悬空过程

时间:2018-03-01 14:51:00

标签: node.js deployment pm2

我使用pm2来定义需要定期运行的各种作业。这是一个例子:

{
  "name": "recalc-score",
  "script": "dist/jobs/recalc-score.js",
  "cron_restart": "5 0 * * *",
  "env": {
    "NODE_ENV": "production"
  }
},

任务在不到一秒的时间内完成,但是如果我调用ps auxpm2 monit,我会看到pm2正在为每个任务保持一个进程。每个消耗40 + MB的RAM。

有没有办法避免这种行为?我真的很喜欢通过更新ecosystem.json来轻松在服务器上创建新作业所以我真的很想坚持使用pm2,但为每天运行一次的任务牺牲了大量的RAM感觉不理想。

1 个答案:

答案 0 :(得分:0)

好的,这个问题似乎有点受阻:https://github.com/Unitech/pm2/issues/2487

但是这里的解决方案效果很好。我创建了一个运行node-scheduleworker.js脚本。在这里,我定义了所有cron任务。这只需要一个过程。