Files
PM_test/controllers/bullBoardController.js
2026-06-12 17:14:03 +09:00

40 lines
1.6 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 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(convertQueue3),
// 여기에 더 필요한 큐 어댑터를 추가할 수 있습니다.
],
serverAdapter,
});
// 4) 실제 대시보드를 처리하는 Router 추출
const bullBoardController = serverAdapter.getRouter();
module.exports = bullBoardController;