繁体   English   中英

如何检查 node-cron 执行 cron-job 所花费的时间

[英]How to check how much time node-cron is taking for executing cron-job

我想检查 cron 作业执行该特定 cron 作业的 cron 作业进程需要多少时间。

之后,如果 cron-job 执行该过程的时间超过 10 分钟,则应停止该特定 cron-job 并且 rest cron 作业应正常处理。

我正在使用 node-cron package 进行 cron 作业。

在下面的代码中,我想知道执行该过程需要多长时间,如果它超过 10 分钟,那么在 setTimeout() function 中,我可以使用 cron 的 task.stop() 方法来停止该 cron 作业。

var task = cron.schedule('0 1 * * *', () => { console.log('Runing a job at 01:00') }

如果我理解正确,您想设置超时以在超过 10 分钟的运行时间时取消进程。 最佳答案将取决于流程正在执行的活动类型。 如果您使用child_process模块生成另一个进程,您可以从文档中的一个示例开始,该示例会在 2 秒后终止子进程并根据您的需要进行调整:

'use strict';
const { spawn } = require('child_process');

const subprocess = spawn(
  'sh',
  [
    '-c',
    `node -e "setInterval(() => {
      console.log(process.pid, 'is alive')
    }, 500);"`
  ], {
    stdio: ['inherit', 'inherit', 'inherit']
  }
);

setTimeout(() => {
  subprocess.kill(); // Does not terminate the Node.js process in the shell.
}, 2000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM