Я хочу запустить две работы одновременно, но через некоторое время я остановлю один из них и продолжу второй. В нашем случае я начинаю 2 задания каждые 30 секунд, и каждое задание выполняется каждые 4 секунды. Если я остановлю первое задание в середине выполнения, оно остановится, а второе задание выполнит свою задачу, но проблема в том, что после 30 секунд первое задание также начинает выполнять задачу, даже если мы прекратили эту работу.Вложенная остановка задания cron и начало выпуска
Вот мой код:
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();
да @Viddesh, Так есть идея получить выход, как мне нужно? –
Не могли бы вы подробнее рассказать о том, что вы хотите сделать именно? Ваш вопрос немного запутан. Пожалуйста, объясните, чтобы я мог вам предложить. – Viddesh
Я хочу запускать несколько задач A каждые 30 секунд, но каждая задача может быть остановлена и запускаться независимо в любое время по событию пользователя. Задача А также имеет временной интервал в 4 секунды. –