@anchan828/nest-bullmq-terminus

The terminus of [BullMQ](https://github.com/taskforcesh/bullmq) module for [Nest](https://github.com/nestjs/nest).

Usage no npm install needed!

<script type="module">
  import anchan828NestBullmqTerminus from 'https://cdn.skypack.dev/@anchan828/nest-bullmq-terminus';
</script>

README

@anchan828/nest-bullmq-terminus

npm NPM

Description

The terminus of The Bull module for Nest.

Installation

$ npm i --save @anchan828/nest-bullmq-terminus @nestjs/terminus @anchan828/nest-bullmq bullmq

Quick Start

  1. Create Health Module
import { BullHealthIndicator, BullHealthModule } from "@anchan828/nest-bullmq-terminus";

@Controller("/health")
class BullHealthController {
  constructor(private health: HealthCheckService, private bull: BullHealthIndicator) {}

  @Get()
  @HealthCheck()
  check() {
    return this.health.check([() => this.bull.isHealthy()]);
  }
}

@Module({
  controllers: [BullHealthController],
  imports: [BullHealthModule, TerminusModule],
})
export class HealthModule {}
  1. Create bull queue/worker/queueEvents for checking health
import { BullHealthModule } from "@anchan828/nest-bullmq-terminus";

@Module({
  imports: [BullModule.forRoot(), BullHealthModule],
})
class AppModule {}

BullHealthCheckWorker is a simple queue that just returns Promise.resolve(true).

export class BullHealthCheckWorker {
  @BullWorkerProcess()
  async process(): Promise<boolean> {
    return Promise.resolve(true);
  }
}

License

MIT