mirror of
https://github.com/louislam/uptime-kuma.git
synced 2025-08-09 12:21:22 +08:00
WIP: Enable background jobs
WIP: Remove better-sqlite3
This commit is contained in:
28
server/jobs.js
Normal file
28
server/jobs.js
Normal file
@@ -0,0 +1,28 @@
|
||||
const path = require("path");
|
||||
const Bree = require("bree");
|
||||
const { SHARE_ENV } = require("worker_threads");
|
||||
|
||||
const jobs = [
|
||||
{
|
||||
name: "clear-old-data",
|
||||
interval: "every 1 minute",
|
||||
}
|
||||
];
|
||||
|
||||
const initBackgroundJobs = function (args) {
|
||||
const bree = new Bree({
|
||||
root: path.resolve("server", "jobs"),
|
||||
jobs,
|
||||
worker: {
|
||||
env: SHARE_ENV,
|
||||
workerData: args,
|
||||
},
|
||||
});
|
||||
|
||||
bree.start();
|
||||
return bree;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
initBackgroundJobs
|
||||
};
|
24
server/jobs/clear-old-data.js
Normal file
24
server/jobs/clear-old-data.js
Normal file
@@ -0,0 +1,24 @@
|
||||
const path = require("path");
|
||||
const { R } = require("redbean-node");
|
||||
const Database = require("../database");
|
||||
|
||||
const dbPath = path.join(
|
||||
process.env.DATA_DIR ||
|
||||
require("worker_threads").workerData["data-dir"] ||
|
||||
"./data/"
|
||||
);
|
||||
|
||||
Database.init({
|
||||
"data-dir": dbPath,
|
||||
});
|
||||
|
||||
(async () => {
|
||||
await Database.connect();
|
||||
|
||||
console.log(await R.getAll("PRAGMA journal_mode"));
|
||||
console.log(
|
||||
await R.getAll("SELECT * from setting WHERE key = 'database_version'")
|
||||
);
|
||||
|
||||
process.exit(0);
|
||||
})();
|
@@ -46,6 +46,9 @@ Notification.init();
|
||||
debug("Importing Database");
|
||||
const Database = require("./database");
|
||||
|
||||
debug("Importing Background Jobs");
|
||||
const { initBackgroundJobs } = require("./jobs");
|
||||
|
||||
const { basicAuth } = require("./auth");
|
||||
const { login } = require("./auth");
|
||||
const passwordHash = require("./password-hash");
|
||||
@@ -1231,6 +1234,8 @@ exports.entryPage = "dashboard";
|
||||
}
|
||||
});
|
||||
|
||||
initBackgroundJobs(args);
|
||||
|
||||
})();
|
||||
|
||||
async function updateMonitorNotification(monitorID, notificationIDList) {
|
||||
|
Reference in New Issue
Block a user