Redis adapter for sse-broadcast.
SSE is a long-polling solution, consequently if you want to broadcast events to every client subscribed to a given channel then you’ll need some way of passing messages between processes or computers. This package distributes events across nodes on top of Redis.
const os = require('os'),
cluster = require('cluster')
if (cluster.isMaster)
for (var i = os.cpus().length; i--;)
cluster.fork()
else {
const app = require('express')(),
sse = require('sse-broadcast')()
require('sse-broadcast-redis')(sse, { host: 'localhost', port: 6379 })
app.get('/events', function (req, res) {
sse.subscribe('channel', res)
})
app.post('/event', function (req, res) {
sse.publish('channel', 'event', 'data')
res.send()
})
app.listen(3333)
}Note: options are passed to redis directly.
const Adapter = require('sse-broadcast-redis')Package's main export is the adapter constructor. Its first argument is a required Broadcaster instance,
second is an optional redis client or an options object for redis.createClient(). See redis documentation regarding the available settings.
Circular reference to the adapter constructor for those who find require('sse-broadcast-redis').Adapter more expressive.
The version string from package manifest.
const adapter = new Adapter(broadcaster)Call the corresponding methods of internally used redis clients.
Delegated error events of internal clients.
sse-broadcast-redis is compatible with Node.js 0.12 and above.
With npm:
npm install sse-broadcast-redis