sse-broadcast-redis2 v0.1.2
sse-broadcast-redis
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.
Usage
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.
API
const Adapter = require('sse-broadcast-redis')Adapter(broadcaster, clientOrOptions)
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.
Adapter.Adapter
Circular reference to the adapter constructor for those who find require('sse-broadcast-redis').Adapter more expressive.
Adapter.version
The version string from package manifest.
const adapter = new Adapter(broadcaster)adapter.unref(), adapter.quit() and adapter.end(flush)
Call the corresponding methods of internally used redis clients.
Event: 'error'
Delegated error events of internal clients.
Compatibility
sse-broadcast-redis is compatible with Node.js 0.12 and above.
Installation
With npm:
npm install sse-broadcast-redis