0.1.3 • Published 10 years ago
trottola v0.1.3
Trottola
A small library providing throttling methods
Installation
npm install trottola --save
Usage
var trottola = require('trottola');
var redis = require('redis');
var client = redis.createClient(); // Used to store client information
var clientPub = redis.createClient(); // Used internally to set the throttling event timer
var clientSub = redis.createClient(); // Used internally to be notified of the throttling event
throttler = trottola({
limit: 50,
timeFrame: 600,
redis: client,
redisPub: clientPub,
redisSub: clientSub
});
this.throttler.availableRequests("test", function(available, result) {
var now = (new Date()).getTime() / 1000;
console.log('limit: ' + result.limit);
console.log('used: ' + result.used);
console.log('reset: ' + result.reset);
if (!available) {
// Request limit reached
} else {
// Request limit not reached
}
console.log("reset in " + Math.round(result.reset - now));
}
Tests
npm test
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.
Release History
- 0.1.3 Fix: adapting the code to an API change in dtimer
- 0.1.2 Updated dtimer to fix an issue with Redis connections
- 0.1.1 README.md fix
- 0.1.0 Initial release