我想同时开始两个工作,但过了一段时间后我会停止其中一个并继续第二个工作。 在我们的情况下,我每30秒开始2个作业,每个作业本身每4秒执行一次,如果我在执行过程中停止第一个作业,它将停止,第二个作业正在执行其任务但问题是在30秒后第一个即使我们已经停止这项工作,工作也开始执行任务。
这是我的代码:
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();
答案 0 :(得分:0)
你的第一份工作开始只是因为你已经设置了cron来每隔30秒运行两个作业,这是我从你的代码中看到的。这将继续运行你的一堆东西,每30秒运行一次。