refactor: Workers and queues and eliminate redundant process listeners

This commit is contained in:
Faruk AYDIN
2024-12-05 03:21:50 +03:00
parent 6d15167ad9
commit 770b07179f
15 changed files with 78 additions and 76 deletions

View File

@@ -1,5 +1,4 @@
import { Worker } from 'bullmq';
import process from 'node:process';
import * as Sentry from '../helpers/sentry.ee.js';
import redisConfig from '../config/redis.js';
@@ -13,7 +12,7 @@ import {
REMOVE_AFTER_7_DAYS_OR_50_JOBS,
} from '../helpers/remove-job-configuration.js';
export const worker = new Worker(
const flowWorker = new Worker(
'flow',
async (job) => {
const { flowId } = job.data;
@@ -64,11 +63,11 @@ export const worker = new Worker(
{ connection: redisConfig }
);
worker.on('completed', (job) => {
flowWorker.on('completed', (job) => {
logger.info(`JOB ID: ${job.id} - FLOW ID: ${job.data.flowId} has started!`);
});
worker.on('failed', async (job, err) => {
flowWorker.on('failed', async (job, err) => {
const errorMessage = `
JOB ID: ${job.id} - FLOW ID: ${job.data.flowId} has failed to start with ${err.message}
\n ${err.stack}
@@ -95,6 +94,4 @@ worker.on('failed', async (job, err) => {
});
});
process.on('SIGTERM', async () => {
await worker.close();
});
export default flowWorker;