Skip to content
This repository was archived by the owner on Feb 1, 2026. It is now read-only.

Latest commit

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Redmess

What's Redmess

Redis Pub/Sub-esque implementation with persistence. A message queue for Redis in Node.js that mimics pub/sub functionality but uses Redis lists to enable persistence. Designed to separate background processing from a web app - just drop a message from the web app to a different node app running elsewhere.

Note that this is currently under development and there are likely to be bugs.

Setup & see how it works

  1. npm install redmess
  2. configure 'config' in test/publish.js and test/subscribe.js to reach your redis server
  3. node test/subscribe.js
  4. node test/publish.js (in separate terminal window)
  5. check your console to verify output

Setup a publisher:

varconfig={port : 0000,host : 'server.redistogo.com',pass : 'yourcrazylookingkey'};varaPublisher=newredmess.Publisher(config,'pub_name');// Send a message to channel1varobj1={'some': 'object'};aPublisher.publish('test_pipe','channel1',obj1,function(err,res){// This callback is optional	});// Send a message to channel2varobj2={'someother': 'object'};aPublisher.publish('test_pipe','channel2',obj2);

Set up a subscriber...

varconfig={port : 0000,host : 'server.redistogo.com',pass : 'yourcrazylookingkey'};// To respond to all channels on test_pipe, omit the fourth parameter 'channels'varaSubscriber=newredmess.Subscriber(config,'sub_name','test_pipe');aSubscriber.on('default',function(data){// Do something interesting with the messageconsole.log('Doing the default action for: '+JSON.stringify(data));// Listen for next messageaSubscriber.next();});// Start listeningaSubscriber.start();// To respond to specific channels on test_pipevarchannels=['channel1','channel2'];varbSubscriber=newredmess.Subscriber(config,'sub_name','test_pipe',channels);bSubscriber.on('channel1',function(data){// Do something interesting with the messageconsole.log('channel1: '+JSON.stringify(data));// Listen for next messagebSubscriber.next();});bSubscriber.on('channel2',function(data){// Do something interesting with the messageconsole.log('channel2: '+JSON.stringify(data));// Listen for next messagebSubscriber.next();});bSubscriber.on('default',function(data){// Do something interesting with the messageconsole.log('Doing the default action for: '+JSON.stringify(data));// Listen for next messagebSubscriber.next();});// Start listeningbSubscriber.start();

Credits

This is based on and essentially a highly simplified version of node-rqueue (https://github.com/votizen/node-rqueue) by Tim-Smart.

About

A pub/sub-esque message queue for node.js and redis

Resources

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages