'use strict'; var redis = require('redis'); var client1 = redis.createClient(); var client2 = redis.createClient(); var client3 = redis.createClient(); client1.xadd('mystream', '*', 'field1', 'm1', function (err) { if (err) { return console.error(err); } client1.xgroup('CREATE', 'mystream', 'mygroup', '$', function (err) { if (err) { return console.error(err); } }); client2.xreadgroup('GROUP', 'mygroup', 'consumer', 'Block', 1000, 'NOACK', 'STREAMS', 'mystream', '>', function (err, stream) { if (err) { return console.error(err); } console.log('client2 ' + stream); }); client3.xreadgroup('GROUP', 'mygroup', 'consumer', 'Block', 1000, 'NOACK', 'STREAMS', 'mystream', '>', function (err, stream) { if (err) { return console.error(err); } console.log('client3 ' + stream); }); client1.xadd('mystream', '*', 'field1', 'm2', function (err) { if (err) { return console.error(err); } }); client1.xadd('mystream', '*', 'field1', 'm3', function (err) { if (err) { return console.error(err); } }); });