Skip to content

This module provides a simple stream interface to an AMQP message queue.

License

Notifications You must be signed in to change notification settings

wolfeidau/queue-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

queue-stream Build Status

NPM NPM

This module provides a simple stream interface to an AMQP message queue. The objective is to provide a small simple way of consuming JSON based messages from a queue, with a way of dispatching events based on routing keys used in AMQP.

Usage

This example is designed to be run from the command line as follows, it will output anything sent via the queue to STDOUT.

"use strict";

var es = require('event-stream');
var amqplib = require('amqplib');
var queueStream = require('../lib/queue-stream.js');
var log = require('debug')('write-stream-to-stdout');


var open =
  amqplib.connect();

var queueParams = {"durable": true};

queueStream(open, {exchangeName: 'events/syslog', queueName: 'queue/input', params: queueParams}, function (err, qs) {
  log('topicStream', 'open');
  qs.bindRoutingKey('#', function () {
    log('bindRoutingKey', '#');
    es.pipeline(qs, es.through(function onData(data) {
      this.emit('data', data + '\n')
    }), process.stdout);

  });
});

TODO

  • Add the option to just pass an AMQP URL.

License

Copyright (c) 2013 Mark Wolfe Licensed under the MIT license.

About

This module provides a simple stream interface to an AMQP message queue.

Resources

License

Stars

Watchers

Forks

Packages