Default analyses limits can be defined in configuration

This commit is contained in:
Raul Ochoa
2016-10-20 14:02:13 +02:00
parent 30a95b7da3
commit 376573459c
7 changed files with 164 additions and 5 deletions

View File

@@ -1,3 +1,6 @@
'use strict';
var _ = require('underscore');
var camshaft = require('camshaft');
var fs = require('fs');
@@ -8,9 +11,9 @@ var REDIS_LIMITS = {
function AnalysisBackend (metadataBackend, options) {
this.metadataBackend = metadataBackend;
options = options || {};
this.setBatchConfig(options.batch);
this.setLoggerConfig(options.logger);
this.options = options || {};
this.setBatchConfig(this.options.batch);
this.setLoggerConfig(this.options.logger);
}
module.exports = AnalysisBackend;
@@ -55,10 +58,13 @@ AnalysisBackend.prototype.create = function(analysisConfiguration, analysisDefin
};
AnalysisBackend.prototype.getAnalysesLimits = function(username, callback) {
var self = this;
var analysesLimitsKey = REDIS_LIMITS.PREFIX + username;
this.metadataBackend.redisCmd(REDIS_LIMITS.DB, 'HGETALL', [analysesLimitsKey], function(err, analysesTimeouts) {
analysesTimeouts = analysesTimeouts || {};
_.defaults(analysesTimeouts, self.options.limits);
var analysesLimits = {
analyses: {
// buffer: {

View File

@@ -39,7 +39,8 @@ var analysisConfig = _.defaults(global.environment.analysis || {}, {
},
logger: {
filename: undefined
}
},
limits: {}
});
module.exports = {
@@ -101,7 +102,8 @@ module.exports = {
},
logger: {
filename: analysisConfig.logger.filename
}
},
limits: analysisConfig.limits
},
// Do not send unwatch on release. See http://github.com/CartoDB/Windshaft-cartodb/issues/161
redis: _.extend(global.environment.redis, {unwatchOnRelease: false}),