{"_id":"redmess","_rev":"5-c16a619dee57c8c8386a8760cce24411","name":"redmess","description":"A redis pub/sub using lists to achieve persistence","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"author":{"name":"David DeRemer","email":"david@grandelabs.com"},"name":"redmess","description":"A redis pub/sub using lists to achieve persistence","version":"0.1.0","repository":{"type":"git","url":"git://github.com/deremer/Redmess.git"},"main":"index.js","engines":{"node":"v0.5.0-pre"},"dependencies":{"redis":"0.6.6","filter":"0.1.0"},"devDependencies":{},"_id":"redmess@0.1.0","_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"67345c4eac7252c767c60b7d37b4edcc2840586a","tarball":"https://registry.npmjs.org/redmess/-/redmess-0.1.0.tgz","integrity":"sha512-D7hzaO8ZVEfbYKe4d7L2+N1ZcXtYOqMywmP1vFgKRizuLjBLiLd/mVJN8/YhhodkPIC4abnPxt2YMV94Y/gVJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN8/MKitqHky6HrxTYyG9UPaqvJ3UcZqhUM6bBfguAbgIgEyNJ5RCEKBteqBVxghuuVqeQ2sov/eJe95vtw2+MbFw="}]},"scripts":{}},"0.1.1":{"author":{"name":"David DeRemer","email":"david@grandelabs.com"},"name":"redmess","description":"A redis pub/sub using lists to achieve persistence","version":"0.1.1","repository":{"type":"git","url":"git://github.com/deremer/Redmess.git"},"main":"index.js","engines":{"node":"v0.5.0-pre"},"dependencies":{"redis":"0.6.6","filter":"0.1.0"},"devDependencies":{},"_id":"redmess@0.1.1","_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"a4e2a3da617ca663f4651dfb95f89436d77bcbe9","tarball":"https://registry.npmjs.org/redmess/-/redmess-0.1.1.tgz","integrity":"sha512-WMKGsCw17upvzmmbw8wvMWFnWfUIazIyNOPZD+N03n3krpM2eExTee2tIhBuxHIMv2oEXgP3UEPgg1Xn/U+yjg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT2vWcEZ3v6QTPKUFZ3ncmjHn6lohcqlyY49o/EUxV2wIhALnAg/HjbET1VdSJf8q8zVxu+mhdYjh1Uv5TQZbbbztN"}]},"scripts":{}},"0.1.2":{"author":{"name":"David DeRemer","email":"david@grandelabs.com"},"name":"redmess","description":"A redis pub/sub using lists to achieve persistence","version":"0.1.2","repository":{"type":"git","url":"git://github.com/deremer/Redmess.git"},"main":"index.js","engines":{"node":"v0.5.0-pre"},"dependencies":{"redis":"0.6.6","filter":"0.1.0"},"devDependencies":{},"_id":"redmess@0.1.2","_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"7225eba0565aedf2b13ff648fdd8280999627069","tarball":"https://registry.npmjs.org/redmess/-/redmess-0.1.2.tgz","integrity":"sha512-SYZxXnnVKd9GJ9CmuQDTRS/+usnwPd7ouy+hPwH/GsAJg25EAsoBW43d/A6zoFSHZJeluK6gUX4MHZ4lLnOqHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC76bNehlMmLh/283y5cuSXGW1msWtPz4hzYQVRDOhLbAIhAN+9+1oYbUYQsKq317WjO5EPejXCms9ZfR5R+k+IIbqP"}]},"scripts":{}},"0.1.3":{"author":{"name":"David DeRemer","email":"david@grandelabs.com"},"name":"redmess","description":"A redis pub/sub using lists to achieve persistence","keywords":["redis","list","pubsub","pub","sub","bloop","persistence","persistent","message","queue"],"version":"0.1.3","repository":{"type":"git","url":"git://github.com/deremer/Redmess.git"},"main":"index.js","engines":{"node":">=0.4.0 <0.5.0"},"dependencies":{"redis":"0.6.x","filter":"0.1.x"},"devDependencies":{},"_id":"redmess@0.1.3","_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"672ab4881e7d7c55067ed63be4582f7a2af3f25a","tarball":"https://registry.npmjs.org/redmess/-/redmess-0.1.3.tgz","integrity":"sha512-+sFeHxfUZjCA9zHyTcLT7LAsLyBszdVTRaipuAyDz1mRKGeqefklt7Q1cd45aMNwRd//NtQ5dKOBc1O0+CNelQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHbDTSZnS4MCczVnvy4QY6O2fNrUILJphiDC3VEAwrVGAiEAoncLim+pnYS3u1YDJNzT74tKOrV5ufAJ/hV4HOMPKk0="}]},"scripts":{}},"0.1.4":{"author":{"name":"David DeRemer","email":"david@grandelabs.com"},"name":"redmess","description":"A redis pub/sub using lists to achieve persistence","keywords":["redis","list","pubsub","pub","sub","bloop","persistence","persistent","message","queue"],"version":"0.1.4","repository":{"type":"git","url":"git://github.com/deremer/Redmess.git"},"main":"index.js","engines":{"node":">=0.4.0 <0.5.0"},"dependencies":{"redis":"0.6.x","filter":"0.1.x"},"devDependencies":{},"_id":"redmess@0.1.4","_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"e60f0236a7d38d69461e7b62dcd027e4cbd2db83","tarball":"https://registry.npmjs.org/redmess/-/redmess-0.1.4.tgz","integrity":"sha512-j3GPhAc23CqaQZwSYun/pRm+1xlQgIPCraFDk7EkdK/MFXSn2bDQHydtHXD4jBQAjgp+0C5KnvGRxWlkzbiRuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBBZvnB6lzI6p9CuHnDa6lsaki4g/bOLyy/KFggDO9TwAiAJ2gk3ArZkhF0YohHSqclL/3E+Yn0Nz4qSL2gAbEN9vQ=="}]},"scripts":{}},"0.1.5":{"author":{"name":"David DeRemer","email":"david@grandelabs.com"},"name":"redmess","description":"A redis pub/sub using lists to achieve persistence","keywords":["redis","list","pubsub","pub","sub","bloop","persistence","persistent","message","queue"],"version":"0.1.5","repository":{"type":"git","url":"git://github.com/deremer/Redmess.git"},"main":"index.js","engines":{"node":">=0.4.0 <0.5.0"},"dependencies":{"redis":"0.6.x","filter":"0.1.x"},"devDependencies":{},"_id":"redmess@0.1.5","_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"f537bdbf09c11a70c325bd442f2f9abca9515641","tarball":"https://registry.npmjs.org/redmess/-/redmess-0.1.5.tgz","integrity":"sha512-P4MRj5xVZpjX7ruUMPJ4Vn+yZb95/If+C3KkOWgRf6prZT0CGqaygzh+MffXZTZSKM8Htcls9DYm2nhR1/7NFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIER3TwKTZ40CzqjIgzy9WCvYbY7AVGbPV5DNrU94Z9HBAiBxjS2ENG6bEgIX6YajhikvfPW5SkvbKTq4hz6DynuIlA=="}]},"scripts":{},"maintainers":[{"name":"deremer","email":"david@grandelabs.com"}]},"0.1.6":{"author":{"name":"David DeRemer","email":"david@grandelabs.com"},"name":"redmess","description":"A redis pub/sub using lists to achieve persistence","keywords":["redis","list","pubsub","pub","sub","blpop","persistence","persistent","message","queue"],"version":"0.1.6","repository":{"type":"git","url":"git://github.com/deremer/Redmess.git"},"main":"index.js","engines":{"node":"*"},"dependencies":{"redis":"0.6.x","filter":"0.1.x"},"devDependencies":{},"_npmUser":{"name":"deremer","email":"david@grandelabs.com"},"_id":"redmess@0.1.6","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.10","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"9ddc421dd130c8ea9a5d3bcb4998d8f483c8fef7","tarball":"https://registry.npmjs.org/redmess/-/redmess-0.1.6.tgz","integrity":"sha512-TwkShhRZtiaMX3sR7ydo71ngbfOHVWahGxV7JZu10bP5hXOgd/tYwVC1PAFxjaqMkFx5bERSGxLWsR3OpiPEeQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEf5TU01NMvigbeRz2CvcHriWCslqAHJ6BM9Hq6MXPCuAiANKP2Y19ROm+iCdMPcxHGQ/0gNvnL1cj1hVX9a9qBi4Q=="}]},"maintainers":[{"name":"deremer","email":"david@grandelabs.com"}]}},"maintainers":[{"name":"deremer","email":"david@grandelabs.com"}],"time":{"modified":"2022-06-26T09:52:07.639Z","created":"2011-07-21T22:12:47.814Z","0.1.0":"2011-07-21T22:12:48.054Z","0.1.1":"2011-07-22T16:00:06.956Z","0.1.2":"2011-07-27T21:11:53.281Z","0.1.3":"2011-07-29T13:30:52.256Z","0.1.4":"2011-07-29T17:44:18.361Z","0.1.5":"2011-08-17T14:02:50.471Z","0.1.6":"2012-03-22T18:21:58.865Z"},"author":{"name":"David DeRemer","email":"david@grandelabs.com"},"repository":{"type":"git","url":"git://github.com/deremer/Redmess.git"},"readme":"Redmess\n============\n\n## What's Redmess\n\nRedis 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.\n\nNote that this is currently under development and there are likely to be bugs.\n\n\n## Setup & see how it works\n\n1. npm install redmess\n2. configure 'config' in test/publish.js and test/subscribe.js to reach your redis server\n3. node test/subscribe.js\n4. node test/publish.js (in separate terminal window)\n5. check your console to verify output\n\n\n## Setup a publisher:\n\n```javascript\nvar\tconfig = {\n\t\tport : 0000,\n\t\thost : 'server.redistogo.com',\n\t\tpass : 'yourcrazylookingkey'\n};\n\nvar aPublisher = new redmess.Publisher(config, 'pub_name');\n\n// Send a message to channel1\nvar obj1 = { 'some': 'object' };\naPublisher.publish('test_pipe', 'channel1', obj1, function (err, res) {\n\t// This callback is optional\t\n});\n\n// Send a message to channel2\nvar obj2 = { 'someother': 'object' };\naPublisher.publish('test_pipe', 'channel2', obj2);\n\n```\n\n## Set up a subscriber...\n\n```javascript\nvar\tconfig = {\n\t\tport : 0000,\n\t\thost : 'server.redistogo.com',\n\t\tpass : 'yourcrazylookingkey'\n};\n\n// To respond to all channels on test_pipe, omit the fourth parameter 'channels'\nvar aSubscriber = new redmess.Subscriber(config, 'sub_name', 'test_pipe');\n\naSubscriber.on('default', function (data) {\n  \n  // Do something interesting with the message\n  console.log('Doing the default action for: ' + JSON.stringify(data));\n  \n  // Listen for next message\n  aSubscriber.next();\n});\n\n// Start listening\naSubscriber.start();\n\n\n// To respond to specific channels on test_pipe\nvar channels = ['channel1', 'channel2'];\nvar bSubscriber = new redmess.Subscriber(config, 'sub_name', 'test_pipe', channels);\n\nbSubscriber.on('channel1', function (data) {\n  \n  // Do something interesting with the message\n  console.log('channel1: ' + JSON.stringify(data));\n  \n  // Listen for next message\n  bSubscriber.next();\n});\n\nbSubscriber.on('channel2', function (data) {\n  \n  // Do something interesting with the message\n  console.log('channel2: ' + JSON.stringify(data));\n  \n  // Listen for next message\n  bSubscriber.next();\n});\n\n\n\nbSubscriber.on('default', function (data) {\n  \n  // Do something interesting with the message\n  console.log('Doing the default action for: ' + JSON.stringify(data));\n  \n  // Listen for next message\n  bSubscriber.next();\n});\n\n// Start listening\nbSubscriber.start();\n```\n\n## Credits\nThis is based on and essentially a highly simplified version of node-rqueue (https://github.com/votizen/node-rqueue) by Tim-Smart.\n\n","readmeFilename":""}