Fixed the timer task

This commit is contained in:
Mathias Wagner
2022-06-10 18:49:13 +02:00
parent 0f0b72395f
commit e6943e4a53
+7 -18
View File
@@ -1,21 +1,13 @@
const pauseController = require('../controller/pause');
const schedule = require('node-schedule');
let newDate = new Date();
let timer;
let job;
module.exports.startTimer = () => {
if (timer != null) this.stopTimer();
const rule = new schedule.RecurrenceRule();
rule.minute = 0
if (newDate.getMinutes() === 0) {
this.runTask();
} else {
newDate.setHours(newDate.getHours() + 1);
newDate.setMinutes(0);
newDate.setSeconds(0);
var difference = newDate - new Date();
timer = setTimeout(this.runTask, difference);
}
job = schedule.scheduleJob(rule, () => this.runTask());
}
module.exports.runTask = async () => {
@@ -28,10 +20,7 @@ module.exports.runTask = async () => {
}
module.exports.stopTimer = () => {
if (timer != null)
clearTimeout(timer);
timer = null;
job.gracefulShutdown();
}
module.exports.timer = timer;
module.exports.job = job;