node-quotas

Manage quotas using Redis and NodeJS.

node-quotas

This module enables management of quotas in redis.

API

var Quotas = require('quotas');
 
var config = {
  quotas: {
      emails: {limit: 100}, // limit of 100 emails for the given period 
      sms: {limit: 100, expires: 3600} // limit of 100 sms' for the 3600 seconds (5 minutes) 
  },
  redisUrl: 'redis://localhost',
  expires: 86400 // default expiry of 1 day 
};
 
var quotas = new Quotas(config);
 
// initialise and check all the settings. 
quotas.initialise();
 
quotas.check(12345, 'emails', function(errresult) {
    if(err) return cb(err)// do whatever 
 
    // check the result is > 0 and let the operation through 
    ...
 
});

features

  • Set default quotas given a unique user identifier, a type and a default value.

License

Copyright (c) 2014 Mark Wolfe released under the MIT license.