1.0.0 • Published 3 years ago

jsn6-rabbitmq v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

jsn6-rabbitmq

Rabbitmq base on amqplib

Example

import { RabbitMQConnector } from 'jsn6-rabbitmq'

export const rabbit = new RabbitMQConnector({
    uri: 'amqp://user:password@127.0.0.1:5672',
    consumerConfig: {
      prefetch: 1,
      prefetchGlobal: false
    }
})

// Auto create exchange if not existed
rabbit.registerExchange({
    'test-exchange': { type: 'direct', opts: { durable: true }, autoCreate: true }
})

@Startup('worker.start')
export class MyWorker extends Worker {
    @rabbit.Consume('my-exchange', 'my-queue', 'my-routing-key')
    async testConsume(msg?: any) {
        // Do something here
    }

    async onStart() {
        await rabbit.publish('my-exchange', 'my-routing-key', 'Say hello')
        await Promise.all([
            this.testConsume()
        ])
    }
}