README
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);
}
}