1
1
import { createBullBoard } from '@bull-board/api' ;
2
2
import { BullMQAdapter } from '@bull-board/api/bullMQAdapter' ;
3
3
import { ExpressAdapter } from '@bull-board/express' ;
4
+ import type { WorkerOptions } from 'bullmq' ;
4
5
import { Worker } from 'bullmq' ;
5
6
import express from 'express' ;
6
7
@@ -10,20 +11,21 @@ import { cronQueue } from '@mixan/queue/src/queues';
10
11
import { cronJob } from './jobs/cron' ;
11
12
import { eventsJob } from './jobs/events' ;
12
13
13
- const PORT = process . env . PORT || 3000 ;
14
+ const PORT = parseInt ( process . env . WORKER_PORT || ' 3000' , 10 ) ;
14
15
const serverAdapter = new ExpressAdapter ( ) ;
15
16
serverAdapter . setBasePath ( '/' ) ;
16
17
const app = express ( ) ;
17
18
18
- new Worker ( eventsQueue . name , eventsJob , {
19
+ const workerOptions : WorkerOptions = {
19
20
connection,
20
- } ) ;
21
-
22
- new Worker ( cronQueue . name , cronJob , {
23
- connection,
24
- } ) ;
21
+ concurrency : parseInt ( process . env . CONCURRENCY || '1' , 10 ) ,
22
+ } ;
25
23
26
24
async function start ( ) {
25
+ new Worker ( eventsQueue . name , eventsJob , workerOptions ) ;
26
+
27
+ new Worker ( cronQueue . name , cronJob , workerOptions ) ;
28
+
27
29
createBullBoard ( {
28
30
queues : [ new BullMQAdapter ( eventsQueue ) , new BullMQAdapter ( cronQueue ) ] ,
29
31
serverAdapter : serverAdapter ,
@@ -53,9 +55,6 @@ async function start() {
53
55
} ,
54
56
}
55
57
) ;
56
- // if (!repeatableJobs.find((job) => job.name === 'salt')) {
57
- // console.log('Add salt job to queue');
58
- // }
59
58
}
60
59
61
60
start ( ) ;
0 commit comments