【发布时间】:2019-06-06 21:50:40
【问题描述】:
我使用 --cron 标志每小时运行一次作业。一旦我使用 pm2 deploy 进行部署,问题就出现了。我在日志中看到它每秒都在运行作业。
apps: [
{
name: "api",
script: "./index.js",
autorestart: true
},
{
name: "cron",
script: "./cron.js --cron '0 * * * *'"
}
],
cron 语法似乎是正确的,我是否遗漏了其他内容?
【问题讨论】:
-
脚本有什么作用?它有可能重新启动吗?如果你直接做
pm2 start cron.js --cron "0 * * * *",它会起作用吗?如果cron.js只是一个简单的类似console.log("hello");的脚本,它会起作用吗? -
我找到了解决方案,因为它是一个 cron 脚本,当出现错误时我以 process.exit(0) 或 process.exit(1) 结束它,这导致脚本重新启动,我添加了 --no-autorestart 标志,现在一切都很好。
-
@MiguelStevens 请添加您的答案并接受。你为我节省了无数小时的调试时间
-
@Mohathealmightycamel 已经有一段时间了,你只添加了 --no-autorestart 吗?或者还删除了 process.exit() 行?
标签: node.js digital-ocean pm2