[英]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.