Skip to content

RxJS wrapper for the AMQP library from squaremo

Notifications You must be signed in to change notification settings

masterclock/rx-amqplib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RxJS wrapper for amqplib

rx-amqplib is a wrapper for using the squaremo amqplib NodeJS package with RxJS.

Gettings started

To include this library in your project, all you need to do is install it using NPM.

$ npm install rx-amqplib --save

Examples

Here is a basic example of creating a connection to a RabbitMQ server, creating a channel + queue and sneding a message to the queue.

const config = {
  queue: 'test_queue',
  host: 'amqp://localhost'
};

// Process stream
RxAmqpLib.newConnection(config.host)
  .flatMap(connection => connection
    .createChannel()
    .flatMap(channel => channel.assertQueue(config.queue, { durable: false }))
    .doOnNext(reply => reply.channel.sendToQueue(config.queue, new Buffer('Test message')))
    .flatMap(reply => reply.channel.close())
    .flatMap(() => connection.close())
  )
  .subscribe(() => console.log('Message sent'));

More Examples

  1. Hello World

    Server, Client

    The simplest thing that does something.

  2. Work Queues

    New task, Worker

    Distributing tasks among workers

  3. Publish/Subscribe

    Emit logs, Receive logs

    Sending messages to many consumers at once

  4. Routing

    Emit log, Receive logs

    Receiving messages selectively

  5. Topics

    Emit log, Receive logs

    Receiving messages based on a pattern

  6. RPC

    RPC Server, RPC Client

    Remote procedure call implementation

Build it Yourself

Should you wish to build the library yourself, either for personal use, or for contribution, please ensure there are no errors emitted during the build process with npm run build.

$ git clone git@github.com:SkippyZA/rx-amqplib.git
$ cd rx-amqplib
$ npm install
$ npm run build

About

RxJS wrapper for the AMQP library from squaremo

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%