kutt/server/queues/queues.js
2025-01-21 09:38:14 +01:00

40 lines
841 B
JavaScript

const Queue = require("bull");
const path = require("node:path");
const env = require("../env");
const redis = {
port: env.REDIS_PORT,
host: env.REDIS_HOST,
db: env.REDIS_DB,
...(env.REDIS_PASSWORD && { password: env.REDIS_PASSWORD })
};
let visit;
if (env.REDIS_ENABLED) {
visit = new Queue("visit", { redis });
visit.clean(5000, "completed");
visit.process(6, path.resolve(__dirname, "visit.js"));
visit.on("completed", job => job.remove());
// TODO: handler error
// visit.on("error", function (error) {
// console.log("error");
// });
} else {
const visitProcessor = require(path.resolve(__dirname, "visit.js"));
visit = {
add(data) {
visitProcessor({ data }).catch(function(error) {
console.error("Add visit error: ", error);
});
}
}
}
module.exports = {
visit,
}