44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import { ExpressAdapter } from '@bull-board/express';
|
|
import { createBullBoard } from '@bull-board/api';
|
|
import { BullMQAdapter } from '@bull-board/api/bullMQAdapter';
|
|
import flowQueue from '../queues/flow';
|
|
import triggerQueue from '../queues/trigger';
|
|
import actionQueue from '../queues/action';
|
|
import emailQueue from '../queues/email';
|
|
import deleteUserQueue from '../queues/delete-user.ee';
|
|
import removeCancelledSubscriptionsQueue from '../queues/remove-cancelled-subscriptions.ee';
|
|
import appConfig from '../config/app';
|
|
|
|
const serverAdapter = new ExpressAdapter();
|
|
|
|
const queues = [
|
|
new BullMQAdapter(flowQueue),
|
|
new BullMQAdapter(triggerQueue),
|
|
new BullMQAdapter(actionQueue),
|
|
new BullMQAdapter(emailQueue),
|
|
new BullMQAdapter(deleteUserQueue),
|
|
];
|
|
|
|
if (appConfig.isCloud) {
|
|
queues.push(new BullMQAdapter(removeCancelledSubscriptionsQueue));
|
|
}
|
|
|
|
const shouldEnableBullDashboard = () => {
|
|
return (
|
|
appConfig.enableBullMQDashboard &&
|
|
appConfig.bullMQDashboardUsername &&
|
|
appConfig.bullMQDashboardPassword
|
|
);
|
|
};
|
|
|
|
const createBullBoardHandler = async (serverAdapter: ExpressAdapter) => {
|
|
if (!shouldEnableBullDashboard) return;
|
|
|
|
createBullBoard({
|
|
queues,
|
|
serverAdapter,
|
|
});
|
|
};
|
|
|
|
export { createBullBoardHandler, serverAdapter };
|