Node.js 嵌套cron作业停止和启动问题
我想同时开始两份工作,但一段时间后我会停止其中一份,继续做第二份。 在我们的案例中,我每30秒启动2个作业,每个作业本身每4秒执行一次,如果在执行中停止第一个作业,它将停止,而第二个作业执行任务,但问题是,在30秒之后,即使我们停止了这项工作,第一个作业也开始执行任务。 这是我的密码:Node.js 嵌套cron作业停止和启动问题,node.js,cron,cron-task,Node.js,Cron,Cron Task,我想同时开始两份工作,但一段时间后我会停止其中一份,继续做第二份。 在我们的案例中,我每30秒启动2个作业,每个作业本身每4秒执行一次,如果在执行中停止第一个作业,它将停止,而第二个作业执行任务,但问题是,在30秒之后,即使我们停止了这项工作,第一个作业也开始执行任务。 这是我的密码: var job1; var job = new CronJob({ cronTime: '*/30 * * * * *', onTick: function () { var i
var job1;
var job = new CronJob({
cronTime: '*/30 * * * * *',
onTick: function () {
var interval = 4000;
var index = 0;
var index1 = 0;
var users = ['U1', 'U2', 'U3', 'U4']
var users1 = ['D1', 'D2', 'D3', 'D4']
job1 = new CronJob({
cronTime: '*/4 * * * * *',
onTick: function () {
var user = users[index];
console.log("Sent To :" + user);
index++;
if (users.length == index) {
job1.stop();
}
},
start: false,
timeZone: 'GMT'
});
job1.start();
var job2 = new CronJob({
cronTime: '*/4 * * * * *',
onTick: function () {
var user = users1[index1];
console.log("Sent To :" + user);
index1++;
if (users1.length == index1) {
job2.stop();
}
},
start: false,
timeZone: 'GMT'
});
job2.start();
},
start: false,
timeZone: 'GMT'
});
job.start();
停止作业:
job1.stop();
您的第一个作业开始只是因为您将cron设置为每30秒运行两个作业,这是我从代码中看到的。这将继续每30秒运行一次你所有的东西。yes@Viddesh,那么有什么想法可以获得我需要的输出吗?你能详细说明你到底想做什么吗?你的问题有点让人困惑。请解释,以便我向您提出建议。我希望每30秒运行多个任务A,但每个任务可以在任何时间由用户事件独立停止和启动。这些任务A的时间间隔也为4秒。如果您将作业设置为通过cron运行,则您将无法停止它的运行,这就是cron的用途。(为了在不受手动干扰的情况下自动运行)他们提供了手动停止作业的
stop()
方法,但我的问题是如何从作业列表中停止特定作业