Skip to content

MatthewLarner/redis-pattern-subscriber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

redis-pattern-subscriber

Clean subscribe / unsubscribe to redis channels by pattern.

Why

An easy way to listen to messages from pattern matched channels. Removes need to manually handle remove listeners on unsubscribe.

Usage

install

npm install redis-pattern-subscriber

require

// require the module
var createSubscriber = require('redis-pattern-subscriber');

// Initalise the module with a logger (optional, defaults to console)
var subscriber = createSubscriber(logger);

// subscribe to a pattern
var emitter = subscribe(client, pattern, callback);

// listen to messages
emitter.on('message', callback);

where:

  • client is a redis client
  • pattern is a redis pattern
  • callback is called when the subscription is ready.

example

var createSubscriber = require('redis-pattern-subscriber');
var subscribe = createSubscriber(logger);

subscribe(client, 'thing*', function(error, emitter){
    var count = 0;

    if(error) {
        return console.log(error);
    }

    emitter.on('message', function(message, channel) {

        console.log('MESSAGE: '+ message + ' CHANNEL: ' + channel);

        count++;
        if(count >= 5) {
            emitter.unsubscribe();
        }
    });
});

About

Clean subscribe / unsubscribe to redis channels by pattern.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published