如何检查 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,其余 cron 作业应正常处理。
我正在为 cron 作业使用 node-cron 包。
在下面的代码中,如果它超过 10 分钟,我想知道执行该过程需要多少时间,然后在 setTimeout() 函数中,我可以使用 cron 的 task.stop() 方法来停止该 cron 作业。
var task = cron.schedule('0 1 * * *', () => {
console.log('Runing a job at 01:00')
}
如果我的理解正确,您想设置超时以在运行时间超过 10 分钟时取消进程。最佳答案取决于进程正在执行的 activity 类型。如果您使用 child_process
模块生成另一个进程,您可以从 documentation 中的一个示例开始,它会在 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);
我想检查 cron 作业为执行该特定 cron 作业的 cron 作业进程花费了多少时间。
之后,如果 cron-job 执行该过程的时间超过 10 分钟,则应停止该特定 cron-job,其余 cron 作业应正常处理。
我正在为 cron 作业使用 node-cron 包。
在下面的代码中,如果它超过 10 分钟,我想知道执行该过程需要多少时间,然后在 setTimeout() 函数中,我可以使用 cron 的 task.stop() 方法来停止该 cron 作业。
var task = cron.schedule('0 1 * * *', () => {
console.log('Runing a job at 01:00')
}
如果我的理解正确,您想设置超时以在运行时间超过 10 分钟时取消进程。最佳答案取决于进程正在执行的 activity 类型。如果您使用 child_process
模块生成另一个进程,您可以从 documentation 中的一个示例开始,它会在 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);