避免为pm2 cron作业悬空过程

问题描述 投票:0回答:1

我正在使用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感觉并不理想。

node.js deployment pm2
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.