1.0.0 • Published 6 years ago

vados-rabbitmq v1.0.0

Weekly downloads
1
License
ISC
Repository
-
Last release
6 years ago

vados-rabbitmq

A plugin helps to manage rabbitmq connection for vados

Install

npm i vados-rabbitmq -S

Examples

Typescript

Config mongo information

import { RabbitMQ } from 'vados-rabbitmq';

RabbitMQ({
  url: 'amqp://127.0.0.1',
  releaseTimeout: 60000,
  queue: {
    'API_RECEIVER': {
      des: 'Listen queue message for API',
      getListenerName: (_data: any) => `${AppConfig.mqtt.queue.API_RECEIVER}`,
      getError: (data: any) => !data.error ? null : data.error || 'Unknown'
    }
  }
}).debug(!Server.isProduction)
RabbitMQ({
    key: 'connection1',
    url: 'amqp://192.168.0.56',
    queue: {
      'LOG_RECEIVER': {
        des: 'Listen queue message for Log realtime',
        getListenerName: (_data: any) => `${AppConfig.mqtt.queue.LOG_RECEIVER}`,
        getError: (data: any) => !data.error ? null : data.error || 'Unknown'
      }
    }
})

Use in service file

import { RABBITMQ, RabbitMQ, RabbitListener } from 'vados-rabbitmq'

@RabbitListener({
  des: 'Test rabbitmq',
  queue: 'LOG_RECEIVER',
  listenerName: AppConfig.mqtt.queue.API_RECEIVER,
  onHandler(err, data) {
    console.log(err, data)
  }
})
export class ChartService {
  @RABBITMQ()
  private static rabbitMQ: RabbitMQ

  @MQTT('connection1')
  static rabbitMQ1: RabbitMQ;
  
  static async sendToRabbit(data: any = {}) {
      ChartService.rabbitMQ.send('queueName', data);
  }
}