1.0.15 • Published 5 years ago

amqp-rabbit v1.0.15

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

amqp-rabbit

Simple RabbitMQ library that built on top of amqplib

INSTALLATION

npm install --save amqp-rabbit

FEATURES

  • send/listen
  • request/reply
  • publish/subscribe
  • auto reconnect

Setting up a connection

  const Rabbit = require('amqp-rabbit')
  const rabbit = new Rabbit('amqp://localhost:5672')

Usage


request-reply

Process B makes an rpc request to 'add' queue and received by Process A 'add' queue handler. The handler sends a reply by returning an object.

NOTE: message to send and return value must be an object

Process A:

  // receive a request
  rabbit.reply('add', (message) => {
    return {
      result: message.num1 + message.num2
    }
  })

Process B:

  // send a request
  rabbit.request('add', { num1: 10, num2: 15 })
    .then(rep => {
      console.log(rep.result) // 25
    })

Alternative Process B:

  
  const add = rabbit.setupRequest('add');
  // send a request
  add({ num1: 10, num2: 15 })
    .then(rep => {
      console.log(rep.result) // 25
    })

send - listen

Make a simple sending and receiving of messages in a 1:1 sender:listener fashion. Process B send a message every 1 second to Process A.

Process A:

  
  // listen to an event
  rabbit.listen('event', (message) => {
    console.log(message) // { msg: 'hello from Process B'}
  })

Process B:

  setInterval(() => {
    rabbit.send('event', { msg: 'hello from Process B'})
  }, 1000)

publish - subscribe

Make a simple sending and receiving of messages in a 1:N fashion. Looks similar to send - listen, the difference is one sends a message and any subsribers can receive.

Process A:

  rabbit.subscribe('broadcast', (message) => {
    console.log(message) // { msg: 'this is a broadcast message'}
  })

Process B:

  rabbit.subscribe('broadcast', (message) => {
    console.log(message) // { msg: 'this is a broadcast message'}
  })

Process C:

  setInterval(() => {
    rabbit.publish('broadcast', { msg: 'this is a broadcast message'})
  }, 1000)
1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago