mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-09-08 10:23:57 +00:00
![Matthew Nickson](/assets/img/avatar_default.png)
Co-authored-by: Nelson Chan <chakflying@hotmail.com> Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
51 lines
1.0 KiB
JavaScript
51 lines
1.0 KiB
JavaScript
const { parentPort, workerData } = require("worker_threads");
|
|
const Database = require("../database");
|
|
const path = require("path");
|
|
|
|
/**
|
|
* Send message to parent process for logging
|
|
* since worker_thread does not have access to stdout, this is used
|
|
* instead of console.log()
|
|
* @param {any} any The message to log
|
|
*/
|
|
const log = function (any) {
|
|
if (parentPort) {
|
|
parentPort.postMessage(any);
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Exit the worker process
|
|
* @param {number} error The status code to exit
|
|
*/
|
|
const exit = function (error) {
|
|
if (error && error !== 0) {
|
|
process.exit(error);
|
|
} else {
|
|
if (parentPort) {
|
|
parentPort.postMessage("done");
|
|
} else {
|
|
process.exit(0);
|
|
}
|
|
}
|
|
};
|
|
|
|
/** Connects to the database */
|
|
const connectDb = async function () {
|
|
const dbPath = path.join(
|
|
process.env.DATA_DIR || workerData["data-dir"] || "./data/"
|
|
);
|
|
|
|
Database.init({
|
|
"data-dir": dbPath,
|
|
});
|
|
|
|
await Database.connect();
|
|
};
|
|
|
|
module.exports = {
|
|
log,
|
|
exit,
|
|
connectDb,
|
|
};
|