EverydayTech Platform - Developer Reference
Complete Source Code Documentation - All Applications
Loading...
Searching...
No Matches
bullmqWorker.js
Go to the documentation of this file.
1// BullMQ Worker for scheduled/delayed jobs
2const { Worker, Queue } = require('bullmq');
3const Redis = require('ioredis');
4
5const redisConfig = require('./config/redis');
6const connection = new Redis({
7 ...redisConfig,
8 maxRetriesPerRequest: null // Fix BullMQ error
9});
10const queue = new Queue('jobs', { connection });
11
12const worker = new Worker('jobs', async job => {
13 // Example job types: billing, review, backup, report
14 switch(job.name) {
15 case 'billing':
16 // Run billing automation
17 console.log('Running billing job:', job.data);
18 break;
19 case 'review':
20 // Send review email
21 console.log('Sending review email:', job.data);
22 break;
23 case 'backup':
24 // Run backup
25 console.log('Running backup:', job.data);
26 break;
27 case 'report':
28 // Generate report
29 console.log('Generating report:', job.data);
30 break;
31 default:
32 console.log('Unknown job:', job.name);
33 }
34}, { connection });
35
36console.log('BullMQ Worker running for scheduled/delayed jobs.');