No description, website, or topics provided.
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
tests
.gitignore
.travis.yml
LICENSE
README.md
package.json

README.md

throttle

Nodejs module that monitors the total number of requests served by the process and the memory vsize consumed. When asked to limit one or both of these (through configuration), this module will kill the process.

This module is best used in cluster mode where the master process would take care of bringing back the worker process, up and running again.

This package is tested only with Node versions 8 and 10.

install

With npm do:

npm install process-throttle

usage

var http = require('http'),
    throttle = require('throttle');

//Set limits
var myThrottler = new throttler({
    'max_requests':2 
});

process.on('exit', function () {
    console.log('Server received exit command, shutting down\n');
});

var server = http.createServer(function(req, res) {
   res.writeHead(200);
   res.end("I have served " + process.throttle.getTotalRequestCount() + " requests so far. My limit is " + max_requests + "\n");
}).listen(8000);
// Add servers that need to monitor, to the throttler
myThrottler.addServer(server);

Output

% node throttle-usage.js  &
% curl 'http://localhost.om:8000'
>> I have served 1 requests so far. My limit is 2
% curl 'http://localhost.om:8000'
>> I have served 2 requests so far. My limit is 2
>> Server received exit command, shutting down

Build Status

Build Status

Node Badge

NPM