Add Bull Board for monitoring Queue Nest JS
Agik Setiawan
Full Stack Developer
April 4th 2023
Pada tutorial Queue sebelumnya kita sudah berhasil membuat Queue menggunakan Bull pada Nest JS, sekarang kita akan memonitor Queue menggunakan Bull Board. Bull board akan memudahkan kita dalam memonitor Queue yang ada di dalam nest JS sehingga kita bisa melihat status Queue yang sedang berjalan
Pastikan kita sudah berhasil membuat Queue, atau lihat tutorial sebelumnya Cara membuat Queue Nest JS.
Install package
yarn add @bull-board/api
yarn add @bull-board/express
Edit file "main.ts" menjadi seperti dibawah ini
import { createBullBoard } from "@bull-board/api"
import { ExpressAdapter } from "@bull-board/express"
import { NestFactory } from "@nestjs/core"
import { AppModule } from "./app.module"
import { BullMQAdapter } from "@bull-board/api/bullMQAdapter"
import { Queue } from "bull"
async function bootstrap() {
const app = await NestFactory.create(AppModule)
const serverAdapter = new ExpressAdapter()
serverAdapter.setBasePath("/bull-board")
const aQueue = app.get<Queue>(`BullQueue_test-queue`)
createBullBoard({
queues: [new BullMQAdapter(aQueue)],
serverAdapter,
})
app.use("/bull-board", serverAdapter.getRouter())
await app.listen(3000)
}
bootstrap()
Cek apakah Bull Board sudah berhasil diinstall atau belum dengan memasukan URL http://localhost:3000/bull-board
Pada gambar diatas kita bisa melihat status aktivitas Queue yang sedang berjalan
Untuk mengganti URL Bull Board kita bisa menggantinya di "main.ts", misal saya ganti menjadi /bull-admin
import { createBullBoard } from "@bull-board/api"
import { ExpressAdapter } from "@bull-board/express"
import { NestFactory } from "@nestjs/core"
import { AppModule } from "./app.module"
import { BullMQAdapter } from "@bull-board/api/bullMQAdapter"
import { Queue } from "bull"
async function bootstrap() {
const app = await NestFactory.create(AppModule)
const serverAdapter = new ExpressAdapter()
serverAdapter.setBasePath("/bull-admin")
const aQueue = app.get<Queue>(`BullQueue_test-queue`)
createBullBoard({
queues: [new BullMQAdapter(aQueue)],
serverAdapter,
})
app.use("/bull-admin", serverAdapter.getRouter())
await app.listen(3000)
}
bootstrap()
© 2023 PT Koding Digital Indonesia. All rights reserved