drover-express-router

1.0.0 • Public • Published

node npm npm Travis (.org) Coverage Status

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);

Dependencies (1)

Dev Dependencies (12)

Package Sidebar

Install

npm i drover-express-router

Weekly Downloads

2

Version

1.0.0

License

MIT

Unpacked Size

9.56 kB

Total Files

5

Last publish

Collaborators

  • fox_hellraiser
  • lcmbot
  • jangolle
  • fxmaxvl
  • legenage
  • woz