【发布时间】:2017-05-17 05:41:06
【问题描述】:
我想同时开始两项工作,但一段时间后我会停止其中一项并继续第二项。 在我们的例子中,我每 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();
【问题讨论】: