2021-05-07 13:24:51 +02:00
|
|
|
const { createBullBoard } = require("bull-board")
|
|
|
|
const { BullAdapter } = require("bull-board/bullAdapter")
|
|
|
|
const express = require("express")
|
2021-09-08 20:29:28 +02:00
|
|
|
const env = require("../environment")
|
|
|
|
const Queue = env.isTest()
|
|
|
|
? require("../utilities/queue/inMemoryQueue")
|
|
|
|
: require("bull")
|
|
|
|
const { JobQueues } = require("../constants")
|
|
|
|
const { utils } = require("@budibase/auth/redis")
|
|
|
|
const { opts } = utils.getRedisOptions()
|
|
|
|
|
|
|
|
let automationQueue = new Queue(JobQueues.AUTOMATIONS, { redis: opts })
|
2021-05-07 13:24:51 +02:00
|
|
|
|
|
|
|
exports.pathPrefix = "/bulladmin"
|
|
|
|
|
|
|
|
exports.init = () => {
|
|
|
|
const expressApp = express()
|
|
|
|
// Set up queues for bull board admin
|
2021-09-08 20:29:28 +02:00
|
|
|
const queues = [automationQueue]
|
2021-05-07 13:24:51 +02:00
|
|
|
const adapters = []
|
|
|
|
for (let queue of queues) {
|
|
|
|
adapters.push(new BullAdapter(queue))
|
|
|
|
}
|
|
|
|
const { router } = createBullBoard(adapters)
|
|
|
|
|
|
|
|
expressApp.use(exports.pathPrefix, router)
|
|
|
|
return expressApp
|
2021-05-07 14:55:57 +02:00
|
|
|
}
|
2021-09-08 20:29:28 +02:00
|
|
|
|
|
|
|
exports.queue = automationQueue
|