Javascript pm2 cron在启动时自动运行

Javascript pm2 cron在启动时自动运行,javascript,node.js,cron,pm2,Javascript,Node.js,Cron,Pm2,我试图在午夜使用pm2运行cron 使用此设置,我将面临一个意外的场景,即一旦启动进程,cron就会被触发一次 有没有一种方法可以在不验证cron进程运行时间的情况下进行配置? ecosystem.config.js module.exports = { apps: [ { name: "server", script: "server.js", watch: false, env: { NODE_ENV: "prod

我试图在午夜使用pm2运行cron

使用此设置,我将面临一个意外的场景,即一旦启动进程,cron就会被触发一次

有没有一种方法可以在不验证cron进程运行时间的情况下进行配置?

ecosystem.config.js

 module.exports = {
  apps: [
    {
      name: "server",
      script: "server.js",
      watch: false,
      env: {
        NODE_ENV: "production"
      }
    },
    {
      name: "test-cron",
      script: "test-cron.js",
      instances: 1,
      exec_mode: "fork",
      cron_restart: "0 0 * * *",
      watch: false,
      autorestart: false,
      env: {
        NODE_ENV: "production"
      }
    }
  ]
};
命令

pm2-runtime ecosystem.config.js
test-cron.js

console.log("CRON EXECUTED");
控制台输出:

> pm2-test@1.0.0 start /Users/sudhirshrestha/workspace/pm2-test
> pm2-runtime ecosystem.config.js

2019-08-28T22:54:44: PM2 log: Launching in no daemon mode
2019-08-28T22:54:44: PM2 log: App [server:0] starting in -fork mode-
2019-08-28T22:54:44: PM2 log: App [test-cron:1] starting in -fork mode-
2019-08-28T22:54:44: PM2 log: App [server:0] online
2019-08-28T22:54:44: PM2 log: App [test-cron:1] online
CRON EXECUTED
2019-08-28T22:54:49: PM2 log: App [test-cron:1] exited with code [0] via signal [SIGINT]
问题:Cron在启动时立即自动运行一次

,正如pm2文档所说,“应用程序必须运行,Cron功能才能工作”,因此,当然,当您启动它时,您的东西将运行一次。

该功能旨在重新启动已在运行的程序,而不是定期运行当前未运行的程序。PM2是关于管理长期运行的流程。这不是周期性地启动一个短时间运行的程序。为了满足您的需要,为什么不使用常规的cron作业呢?

正如pm2文档所说,“应用程序必须运行才能使cron功能正常工作”,因此,当您启动它时,您的东西当然会运行一次。

该功能旨在重新启动已在运行的程序,而不是定期运行当前未运行的程序。PM2是关于管理长期运行的流程。这不是周期性地启动一个短时间运行的程序。为了满足您的需要,为什么不使用常规的cron作业呢