@anchan828/nest-bull-terminus

The terminus of [Bull](https://github.com/OptimalBits/bull) module for [Nest](https://github.com/nestjs/nest).

Usage no npm install needed!

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

README

@anchan828/nest-bull-terminus

npm NPM

Description

The terminus of The Bull module for Nest.

Installation

$ npm i --save @anchan828/nest-bull-terminus @nestjs/terminus @anchan828/nest-bull bull
$ npm i --save-dev @types/bull

Quick Start

  1. Create Health Module
import { BullHealthCheckQueue, BullHealthIndicator, BullHealthModule } from "@anchan828/nest-bull-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 Health Bull Queue
import { BullHealthCheckQueue } from "@anchan828/nest-bull-terminus";

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

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

export class BullHealthCheckQueue {
  @BullQueueProcess()
  async process(): Promise<void> {
    return Promise.resolve();
  }
}

License

MIT