2.0.6 • Published 10 years ago

mongoose-pubsub v2.0.6

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

Mongoose Pub/Sub

NPM Package Build Status Coverage Status

This node module implements pub/sub messaging using the "tailable cursor" feature of MongoDB capped collections.

Features

  • Easily implement pub/sub without adding new infrastructure
  • Sub-millisecond messaging
  • Send javascript objects as messages

Installation

npm install mongoose-pubsub

Use

var MessageQueue = require('mongoose-pubsub');
var messenger = new MessageQueue();

//channel names are used as filters
var channelName = 'news';
messenger.subscribe(channelName, true); //subscribe
messenger.subscribe(channelName, false); //unsubscribe

// connect() begins "tailing" the collection
messenger.connect(function(){
  // emits events for each new message on the channel
  messenger.on(channelName, function(message){
    console.log(channelName, message);
  });
});

// you can send without connect() first.
messenger.send(channelName, {some: 'message'}, function(err){
  console.log('Sent message');
});

See the test directory for more information.

Note: The best way to use this in your application is to create a file like the following that exports a singleton. Then, when you require this in multiple files in your app, you always get the same instance.

// in lib/messenger.js ...
var MessageQueue = require('mongoose-pubsub');
module.exports = new MessageQueue({retryInterval: 100});

// in other files in your app ...
var messenger = require('./lib/messenger');
messenger.on(...

Tests

npm test
npm run lint
npm run coverage
2.0.6

10 years ago

2.0.5

10 years ago

2.0.4

10 years ago

2.0.3

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

1.1.0

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago