UNPKG

@cleardu/rmq

Version:

Nest - modern, fast, powerful node.js web framework (@rmq)

35 lines (31 loc) 901 B
import { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { RmqContext, RmqOptions, Transport } from '@nestjs/microservices'; @Injectable() export class RmqService { constructor(private readonly configService: ConfigService) {} // Method to get RMQ options based on provided parameters getOptions( queue: string, noAck = false, persistent = true, prefetchCount = 1, ): RmqOptions { return { transport: Transport.RMQ, options: { urls: [this.configService.get<string>('RABBIT_MQ_URI') ?? ''], queue: `${queue}_QUEUE`, noAck, persistent, prefetchCount, }, }; } // Method to acknowledge an RMQ message ack(context: RmqContext) { const channel = context.getChannelRef(); const originalMessage = context.getMessage(); channel.ack(originalMessage); } }