drover-express-router
v1.0.0
Published
Express router plugin for Drover control interface
Downloads
11
Keywords
Readme
Drover express router plugin
Simple drover plugin for express that provides convenient drover control flow via HTTP
Installation
Using npm:
$ npm i --save drover-express-router
Using yarn:
$ yarn add drover-express-router
Usage
const { MasterFactory } = require('drover');
const app = require('express')();
const drover = require('drover-express-router');
const demo = MasterFactory.create({
script: 'path/to/demo.js',
});
// one line to plug-in drover controls into your express app
app.use('/demo', drover({ master: demo }));
app.listen(3000);
API
Get status
curl -XGET localhost:3000/demo/status
//{"status": STATUS}
Get workers statuses
curl -XGET localhost:3000/demo/status/workers
//{"workers": [STATUS]}
Scale
curl -XPUT localhost:3000/demo/scale -d 'size=4'
Graceful shutdown
curl -XPUT localhost:3000/demo/shutdown
Start
curl -XPUT localhost:3000/demo/start
Graceful reload
curl -XPUT localhost:3000/demo/reload
Composite apps
If you got composite drover application with 2 or more masters you still can do this like this:
const { MasterFactory } = require('drover');
const app = require('express')();
const drover = require('drover-express-router');
const foo = MasterFactory.create({ script: 'path/to/foo.js' });
const bar = MasterFactory.create({ script: 'path/to/bar.js' });
app.use('/foo', drover({ master: foo }));
app.use('/bar', drover({ master: bar }));
app.listen(3000);