42 lines
1.8 KiB
JavaScript
42 lines
1.8 KiB
JavaScript
// controllers/monitorController.js
|
|
const { createBullBoard } = require('@bull-board/api');
|
|
const { BullMQAdapter } = require('@bull-board/api/bullMQAdapter.js');
|
|
const { ExpressAdapter } = require('@bull-board/express');
|
|
const { Queue } = require('bullmq');
|
|
|
|
const { redisConnection } = require('../config/redis.js');
|
|
|
|
// 1) 모니터링할 큐 인스턴스화
|
|
const convertQueue = new Queue('convert-pdf', { connection: redisConnection });
|
|
const convertQueue2 = new Queue('pdf-thumb', { connection: redisConnection });
|
|
const convertQueue3 = new Queue('zip-folder', { connection: redisConnection });
|
|
const convertQueue4 = new Queue('post-process-video', { connection: redisConnection });
|
|
const convertQueue5 = new Queue('ai-summarize', { connection: redisConnection });
|
|
const convertQueue6 = new Queue('api-summarize', {connection: redisConnection});
|
|
const convertQueue7 = new Queue('activity-log', {connection: redisConnection});
|
|
// const convertQueue3 = new Queue('test-job', { connection: redisConnection });
|
|
|
|
// 2) ExpressAdapter 생성 및 기본 경로 설정
|
|
const serverAdapter = new ExpressAdapter();
|
|
serverAdapter.setBasePath('/admin/queues');
|
|
|
|
// 3) Bull-Board 생성
|
|
createBullBoard({
|
|
queues: [
|
|
new BullMQAdapter(convertQueue),
|
|
new BullMQAdapter(convertQueue2),
|
|
new BullMQAdapter(convertQueue3),
|
|
new BullMQAdapter(convertQueue4),
|
|
new BullMQAdapter(convertQueue5),
|
|
new BullMQAdapter(convertQueue6),
|
|
new BullMQAdapter(convertQueue7),
|
|
// new BullMQAdapter(convertQueue3),
|
|
// 여기에 더 필요한 큐 어댑터를 추가할 수 있습니다.
|
|
],
|
|
serverAdapter,
|
|
});
|
|
|
|
// 4) 실제 대시보드를 처리하는 Router 추출
|
|
const bullBoardController = serverAdapter.getRouter();
|
|
|
|
module.exports = bullBoardController; |