reload config on each poll

This commit is contained in:
Josh Harvey 2015-04-30 18:13:13 -04:00
parent d5c69079d5
commit 7f14fb3adc
3 changed files with 19 additions and 5 deletions

View file

@ -46,6 +46,17 @@ module.exports = function(options) {
app.use(express.bodyParser());
var reloadConfigMiddleware = function(req, res, next) {
lamassuConfig.load(function(err, config) {
if (err) {
logger.error('Error while reloading config');
return next(err)
}
plugins.configure(config);
next();
});
};
var authMiddleware;
if (options.https) {
@ -91,6 +102,7 @@ module.exports = function(options) {
lamassuConfig: lamassuConfig,
plugins: plugins,
authMiddleware: authMiddleware,
reloadConfigMiddleware: reloadConfigMiddleware,
mock: options.mock
});

View file

@ -119,6 +119,7 @@ function loadOrConfigPlugin(pluginHandle, pluginType, currency,
if (pluginHandle && !pluginChanged) pluginHandle.config(pluginConfig);
else {
pluginHandle = loadPlugin(currentName, pluginConfig);
currentlyUsedPlugins[pluginType] = currentName
logger.debug('plugin(%s) loaded: %s', pluginType, pluginHandle.NAME ||
currentName);
}
@ -183,7 +184,7 @@ exports.configure = function configure(config) {
'info'
);
};
exports.getCachedConfig = function getCachedConfig() {
exports.getConfig = function getConfig() {
return cachedConfig;
};
@ -210,7 +211,7 @@ function buildCartridges(cartridges, virtualCartridges, rec) {
exports.pollQueries = function pollQueries(session, cb) {
var cartridges = cachedConfig.exchanges.settings.cartridges;
if (!cartridges) return null;
if (!cartridges) return cb(null, {});
var virtualCartridges = cachedConfig.exchanges.settings.virtualCartridges;
db.cartridgeCounts(session, function(err, result) {

View file

@ -51,7 +51,7 @@ function poll(req, res) {
return res.json({err: 'No balance available'});
}
var config = plugins.getCachedConfig();
var config = plugins.getConfig();
var settings = config.exchanges.settings;
var complianceSettings = settings.compliance;
var fiatCommission = settings.fiatCommission || settings.commission;
@ -183,9 +183,10 @@ function init(localConfig) {
mock = localConfig.mock;
var authMiddleware = localConfig.authMiddleware;
var reloadConfigMiddleware = localConfig.reloadConfigMiddleware;
var app = localConfig.app;
app.get('/poll', authMiddleware, poll);
app.get('/poll', authMiddleware, reloadConfigMiddleware, poll);
app.post('/trade', authMiddleware, trade);
app.post('/send', authMiddleware, send);