避免在node.js中并行执行多个cronjob

避免在node.js中并行执行多个cronjob,node.js,cron,Node.js,Cron,我想每隔10分钟使用Node.js包做一些工作。 这个cronjob需要5到15分钟,我不希望在一个实例仍在运行的情况下,另一个实例将并行加入它。相反,它将跳过额外的运行并等待下一个周期。 是否可以使用此包实现它? 以下是使用cron包实现的代码: const CronJob = require("cron").CronJob; const job = new CronJob( '0 */10 * * * *', ()=>SomeCronJob(),

我想每隔10分钟使用Node.js包做一些工作。 这个cronjob需要5到15分钟,我不希望在一个实例仍在运行的情况下,另一个实例将并行加入它。相反,它将跳过额外的运行并等待下一个周期。 是否可以使用此包实现它? 以下是使用cron包实现的代码:

const CronJob = require("cron").CronJob;
const job = new CronJob(
    '0 */10 * * * *',
    ()=>SomeCronJob(),
    null,
    true,
    'America/Los_Angeles',
);
我想用简单的setInterval和clearInterval的组合来实现它,而不是包,但不知道如何实现


我将感谢任何帮助

我会使用一个标志来检查作业是否正在运行。例如:

让isJobRunning=false; 函数SomeCronJob{ 如果作业正在运行{ //跳过 回来 } isJobRunning=true; //跑东西 //一旦完成 isJobRunning=false; }
我会使用一个标志来检查作业是否正在运行。例如:

让isJobRunning=false; 函数SomeCronJob{ 如果作业正在运行{ //跳过 回来 } isJobRunning=true; //跑东西 //一旦完成 isJobRunning=false; }