A Seneca.js transport plugin for Redis
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:
- Post a github issue,
- Tweet to @senecajs,
- Ask on the Gitter.
Supports Seneca versions 1.x - 3.x
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-pubsub-transport --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.
require('seneca')()
.use('seneca-redis-transport')
.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
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>
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')
(More info available About Url Format at IANAl ).
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.
Copyright Richard Rodger and other contributors 2014 - 2016, Licensed under MIT.