Mister Coding

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

 

Cara Install Bull Board


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()


 

Repository


https://github.com/mister-coding/nestjs-queue-bull-redis

Artikel Terkait

Queue Nest JS Using Bull & Redis

Queue adalah konsep yang banyak digunakan untuk melakukan pekerjaan secara bergantian sesuai dengan waktu yang telah ditentukan

Mister Coding

© 2023 PT Koding Digital Indonesia. All rights reserved

Company

Privacy PolicyTerms & Condition