41 lines
896 B
JavaScript
41 lines
896 B
JavaScript
/**
|
|
* Copyright (c) 2026 Niolla
|
|
* All rights reserved.
|
|
*
|
|
* This source code is proprietary and confidential.
|
|
* Unauthorized copying, modification, distribution, or use
|
|
* of this file, via any medium, is strictly prohibited.
|
|
*/
|
|
|
|
// app/workers/activity.worker.js
|
|
|
|
const { Worker } = require("bullmq");
|
|
const connection = require("../config/redisClient");
|
|
const db = require("../models");
|
|
|
|
const UserActivity = db.UserActivity;
|
|
|
|
const createActivityWorker = () => {
|
|
const worker = new Worker(
|
|
"activity-queue",
|
|
async (job) => {
|
|
await UserActivity.create(job.data);
|
|
},
|
|
{
|
|
connection,
|
|
},
|
|
);
|
|
|
|
worker.on("completed", (job) => {
|
|
console.log(`✅ Activity logged: ${job.id}`);
|
|
});
|
|
|
|
worker.on("failed", (job, err) => {
|
|
console.error(`❌ Activity failed: ${job.id}`, err.message);
|
|
});
|
|
|
|
return worker;
|
|
};
|
|
|
|
module.exports = createActivityWorker;
|