mirror of
https://github.com/gnmyt/myspeed.git
synced 2026-01-02 02:59:39 -06:00
28 lines
673 B
JavaScript
28 lines
673 B
JavaScript
const pauseController = require('../controller/pause');
|
|
const schedule = require('node-schedule');
|
|
const {isValidCron} = require("cron-validator");
|
|
|
|
let job;
|
|
|
|
module.exports.startTimer = (cron) => {
|
|
if (!isValidCron(cron)) return;
|
|
job = schedule.scheduleJob(cron, () => this.runTask());
|
|
}
|
|
|
|
module.exports.runTask = async () => {
|
|
if (pauseController.currentState) {
|
|
console.warn("Speedtests currently paused. Trying again later...");
|
|
return;
|
|
}
|
|
|
|
await require('./speedtest').create("auto");
|
|
}
|
|
|
|
module.exports.stopTimer = () => {
|
|
if (job !== undefined) {
|
|
job.cancel();
|
|
job = undefined;
|
|
}
|
|
}
|
|
|
|
module.exports.job = job; |