Clean subscribe / unsubscribe to redis channels by pattern.
An easy way to listen to messages from pattern matched channels. Removes need to manually handle remove listeners on unsubscribe.
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.
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();
}
});
});