Socket
Socket
Sign inDemoInstall

@eduzz/rabbit

Package Overview
Dependencies
8
Maintainers
5
Versions
33
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @eduzz/rabbit

An simplified amqp client with reconnections and fallback


Version published
Weekly downloads
395
increased by63.9%
Maintainers
5
Install size
30.3 kB
Created
Weekly downloads
 

Readme

Source

Eduzz RabbitMQ Client

This is an simplified and padronized RabbitMQ Client for NodeJS

How to use

Create a connection

import { Connection } from '@eduzz/rabbit';

export const myRabbit = new Connection({
  dsn: 'amqp://...',
  exchange: 'my-exchange'
});

Send an message to an topic:

import { myRabbit } from './myRabbit';

const payload = {
  hello: 'world'
};

myRabbit.topic('some.topic').persistent().send({ payload });

Listen to one or multiple topics:

import { myRabbit } from './myRabbit';

myRabbit
  .queue('my.queue')
  .topic('some.topic')
  .topic('another.topic')
  .durable()
  .retryTimeout(60000)
  .listen(async data => {
    console.log(data);
    return true;
  });

Full working demo

import { Connection } from '@eduzz/rabbit';

const connection = new Connection({
  dsn: 'amqp://....',
  exchange: 'theExchange',
  exchangeType: 'topic',
  connectionName: 'my app'
});

// Listening some topic
await connection
  .queue('my.queue')
  .topic('my.topic')
  .durable()
  .retryTimeout(60000)
  .listen<string>(async msg => {
    console.log(msg);
    return true;
  });

// Publishing message
(async () => {
  const publisher = connection.topic('my.topic').persistent();

  setInterval(async () => {
    const payload = {
      number: Math.random() * 1000
    };

    publisher.send({
      payload
    });
  }, 1000);
})();

// Delaying Messages
connection.delayQueue('my.delay.queue').durable().from('from.topic').to('to.topic').timeout(5000).create();

Keywords

FAQs

Last updated on 16 Jun 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc