svcs
This library aims to simplify building queue based services in nodejs using AMQP. It simplifies getting started and provides some out of the box monitoring / admin for these services.
Status
Don't use it in production, early adopters and hackers are welcome, the API is still in a state of flux as we work on evolving some of the core features.
API
To build a new service we just create the service and pass in our handler(s).
var svcs = ;var container = ; // override the default amqpUrlvar amqpUrl = processenvAMQP_URL || configamqpurl; container; { console;} // add a route which will process messages for the given routing key// the attribute :gatewayId will be replaced with * when passed to bindQueuecontainer;
Middleware
There are a couple of modules which can be added to the container.
JSON
This is a simple JSON decoder which will convert the payload of the incoming AMQP messages to JSON when the messages
contentType
is set to application/json
.
container;
Routing Statistics
This will send per routingKey
statistics to a statsd server using the increment
function.
container;
TODO
- Add locals to enable connection pools to be tied in and available to the msg, this probably should be done by a middleware module later.
- Need to rework configuration and decide where the defaults should live.
- Need to review jobs as the api is pretty average at the moment.
- More testing..
License
Copyright (c) 2013 Mark Wolfe released under the MIT license.