Я использую node-schedule для создания очереди заданий на основе массива.Однако я заметил, что node-schedule только запускает задания в будущем.
Чтобы доказать это, я создал минимальный жизнеспособный пример:
const schedule = require('node-schedule');
function randomDate(start, end) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}
let start = new Date()
let end = new Date()
start.setMinutes(start.setMinutes() - 35) // set job 35 Minutes in the past
end.setSeconds(end.setMinutes() - 10) // set job 10 Minutes in the past
/**
* Create Scheduler
*/
let arr = []
const numb_jobs = 50
for (let i = 0; i < numb_jobs; i++) {
d = randomDate(start, end)
arr.push([i, d])
schedule.scheduleJob(arr[i][1], function () {
console.log('Job -- #' + arr[i][0] + ' -- executed at: ' + arr[i][1]);
});
}
Есть предложения, как запускать все прошлые задания в начале очереди при запуске сценария?
Я ценю ваши ответы!