1.0.27 • Published 5 years ago

rabbitmq-events-client v1.0.27

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

RabbitMQ Client Events

Notes

Route Key

npm i rabbitmq-events-client

Implementation

Publisher

import RabbitmqClientEvents from "rabbitmq-events-client";

const rabbitmqClientPublisher = new RabbitmqClientEvents("amqp://rabbitmq:rabbitmq@localhost", 'service name', 'exchange name', 'company name');

rabbitmqClientPublisher.connectToServer()
  .then(() => {
    setInterval(async () => {
      await rabbitmqClientPublisher.publish(event, {
        data: 123,
        meta: {},
      }
    }, interval);
  })
  .catch((e) => {
    console.error(e);
  });

publish function will create route key as mentioned above

Consumer / Worker

import RabbitmqClientEvents from "rabbitmq-events-client";

const rabbitmqClientConsumer = new RabbitmqClientEvents("amqp://rabbitmq:rabbitmq@localhost", 'service name', 'exchange name', 'company name');

rabbitmqClientConsumer
  .connectToServer()
  .then(async () => {
    await rabbitmqClientConsumer.subscribe('queue name', 'key', (msg) => {
      const content = JSON.parse(msg.content.toString());
      //do things!!
      //then acknowledge message
      rabbitmqClientConsumer.ackMessage(msg);
      //or reject message
      rabbitmqClientConsumer.nackMessage(msg);
    });
  })
  .catch((e) => {
    console.error(e);
  });

Modify Route Key

its posible alter the route key before publish a message, example:

...
rabbitmqClientEvents.setPublishKey({
        company: 'company',
        service: 'service',
        version: 1,
        entity: 'entity',
      });
await rabbitmqClientPublisher.publish...

Dead Letter Exchange

By default will create a dead letter exchange and a queue, it's possible to turn off this option in the subscribe function:

rabbitmqClientConsumer.subscribe('queue name', 'key', (msg) => {
      const content = JSON.parse(msg.content.toString());
      //do things!!
      rabbitmqClientConsumer.ackMessage(msg);
    },{
      createDeadLetterQueue: false
});
1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.27

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.9

5 years ago

1.0.10

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.0

5 years ago