sse-broadcast-redis2

0.1.2 • Public • Published

view on npm downloads per month node version build status test coverage license

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

License

MIT

Package Sidebar

Install

npm i sse-broadcast-redis2

Weekly Downloads

3

Version

0.1.2

License

MIT

Unpacked Size

19.6 kB

Total Files

12

Last publish

Collaborators

  • hippopotamus