mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-04-13 11:52:19 +00:00
Reformatted code across multiple modules, standardizing string quotes, indentation, and spacing. Improved readability by restructuring blocks and aligning object properties consistently. These changes ensure better code maintainability and follow standard conventions. Signed-off-by: Toby Liddicoat <toby@codesure.co.uk>
58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
const { UptimeKumaServer } = require("./uptime-kuma-server");
|
|
const { clearOldData } = require("./jobs/clear-old-data");
|
|
const { incrementalVacuum } = require("./jobs/incremental-vacuum");
|
|
const Cron = require("croner");
|
|
|
|
const jobs = [
|
|
{
|
|
name: "clear-old-data",
|
|
interval: "14 03 * * *",
|
|
jobFunc: clearOldData,
|
|
croner: null,
|
|
},
|
|
{
|
|
name: "incremental-vacuum",
|
|
interval: "*/5 * * * *",
|
|
jobFunc: incrementalVacuum,
|
|
croner: null,
|
|
},
|
|
];
|
|
|
|
/**
|
|
* Initialize background jobs
|
|
* @returns {Promise<void>}
|
|
*/
|
|
const initBackgroundJobs = async function () {
|
|
const timezone = await UptimeKumaServer.getInstance().getTimezone();
|
|
|
|
for (const job of jobs) {
|
|
const cornerJob = new Cron(
|
|
job.interval,
|
|
{
|
|
name: job.name,
|
|
timezone,
|
|
},
|
|
job.jobFunc,
|
|
);
|
|
job.croner = cornerJob;
|
|
}
|
|
|
|
};
|
|
|
|
/**
|
|
* Stop all background jobs if running
|
|
* @returns {void}
|
|
*/
|
|
const stopBackgroundJobs = function () {
|
|
for (const job of jobs) {
|
|
if (job.croner) {
|
|
job.croner.stop();
|
|
job.croner = null;
|
|
}
|
|
}
|
|
};
|
|
|
|
module.exports = {
|
|
initBackgroundJobs,
|
|
stopBackgroundJobs,
|
|
};
|