seneca-redis-transport-fork
v1.0.2
Published
Seneca Redis transport
Downloads
9
Maintainers
Readme
A Seneca.js transport plugin for Redis
seneca-redis-transport-fork
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:
- Post a github issue,
- Tweet to @senecajs,
- Ask on the [Gitter][gitter-url].
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.