1.0.2 • Published 5 years ago

seneca-redis-transport-fork v1.0.2

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

Seneca

A Seneca.js transport plugin for Redis

seneca-redis-transport-fork

npm version Build Status Coverage Status Dependency Status

This has been forked from seneca/seneca-redis-pubsub-transport and has been modified to work with the latest seneca.

A transport module that uses redis as it's engine. It may also be used as an example on how to implement a transport plugin for Seneca.

Note: This is broadcast transport. All subscribed micro-services receive all messages.

If you are new to Seneca in general, please take a look at senecajs.org. We have everything from tutorials to sample apps to help get you up and running quickly.

If you're using this module, and need help, you can:

Seneca compatibility

Supports Seneca versions 1.x - 3.x

Install

To install, simply use npm. Remember you will need to install Seneca.js if you haven't already.

npm install seneca --save
npm install seneca-redis-transport-fork --save

In order to use this transport, you need to have a redis daemon running. The deamon and instructions on how to install can be found on the redis install page.

Quick Example

require('seneca')()
  .use('seneca-redis-transport-fork')
  .add('foo:two', function(args, done) {done(null, {bar:args.bar})})
  // if you need this micro-service to publish & subscribe to commands add client & listen 
  .client({type:'redis'})  // add client to be able this micro-service to publish
  .listen({type:'redis'}) // add listen to be able this micro-service to subscribe

Running Examples

In order to run the examples we provide the required docker configuration in docker-compose.yml and the folder docker. Just run docker-compose up in the root folder and it should bring up a redis server. Please be aware that if you are using docker-machine the ip running the redis server is the ip of your docker-machine.

In order to find the ip of your docker-machine just execute:

docker-machine ip <your-docker-machine-name>

Example Using Redis Server Url

require('seneca')({
  transport: {
    redis: {
      // you can use The URL of the Redis server. Format:-
      url: "[redis:]//[[user][:password@]][host][:port][/db-number][?db=db-number[&password=bar[&option=value]]]"
    }
  }
})
.use('seneca-redis-transport-fork')

(More info available About Url Format at IANAl ).

Running Tests

If you don't have a redis server handy, you can use docker.

npm run build
npm run start

With that done, you can run tests:

npm run test

Once you're finished:

npm run stop

Contributing

The Senecajs org encourages open participation. If you feel you can help in any way, be it with documentation, examples, extra testing, or new features please get in touch.

License

Copyright Richard Rodger and other contributors 2014 - 2016, Licensed under MIT.