Merge pull request #181 from maraoz/plugin/monitor
Monitor plugin: simple version
This commit is contained in:
commit
abcc3e3616
@ -76,6 +76,7 @@ var bitcoindConf = {
|
|||||||
disableAgent: true
|
disableAgent: true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var enableMonitor = process.env.ENABLE_MONITOR === 'true';
|
||||||
var enableCleaner = process.env.ENABLE_CLEANER === 'true';
|
var enableCleaner = process.env.ENABLE_CLEANER === 'true';
|
||||||
var enableMailbox = process.env.ENABLE_MAILBOX === 'true';
|
var enableMailbox = process.env.ENABLE_MAILBOX === 'true';
|
||||||
var enableRatelimiter = process.env.ENABLE_RATELIMITER === 'true';
|
var enableRatelimiter = process.env.ENABLE_RATELIMITER === 'true';
|
||||||
@ -93,6 +94,8 @@ if (!fs.existsSync(db)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
enableMonitor: enableMonitor,
|
||||||
|
monitor: require('../plugins/config-monitor.js'),
|
||||||
enableCleaner: enableCleaner,
|
enableCleaner: enableCleaner,
|
||||||
cleaner: require('../plugins/config-cleaner.js'),
|
cleaner: require('../plugins/config-cleaner.js'),
|
||||||
enableMailbox: enableMailbox,
|
enableMailbox: enableMailbox,
|
||||||
|
|||||||
@ -139,6 +139,9 @@ if (config.enableCleaner) {
|
|||||||
require('./plugins/cleaner').init(config.cleaner);
|
require('./plugins/cleaner').init(config.cleaner);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config.enableMonitor) {
|
||||||
|
require('./plugins/monitor').init(config.monitor);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// express settings
|
// express settings
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
||||||
cronTime: '* * * * *',
|
cronTime: '0 * * * *', // run each hour
|
||||||
threshold: 2*24*60*60, // 2 days, in seconds
|
threshold: 2*24*60*60, // 2 days, in seconds
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
3
plugins/config-monitor.js
Normal file
3
plugins/config-monitor.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
module.exports = {
|
||||||
|
cronTime: '* * * * *', // run each minute
|
||||||
|
};
|
||||||
26
plugins/monitor.js
Normal file
26
plugins/monitor.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
var mdb = require('../lib/MessageDb').default();
|
||||||
|
var logger = require('../lib/logger').logger;
|
||||||
|
var preconditions = require('preconditions').singleton();
|
||||||
|
var microtime = require('microtime');
|
||||||
|
var cron = require('cron');
|
||||||
|
var CronJob = cron.CronJob;
|
||||||
|
|
||||||
|
|
||||||
|
module.exports.init = function(config) {
|
||||||
|
var cronTime = config.cronTime || '0 * * * *';
|
||||||
|
logger.info('Using monitor plugin with cronTime ' + cronTime);
|
||||||
|
var onTick = function() {
|
||||||
|
mdb.getAll(function(err, messages) {
|
||||||
|
if (err) logger.error(err);
|
||||||
|
else {
|
||||||
|
logger.info('Message db size = ' + messages.length);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
var job = new CronJob({
|
||||||
|
cronTime: cronTime,
|
||||||
|
onTick: onTick
|
||||||
|
});
|
||||||
|
onTick();
|
||||||
|
job.start();
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue
Block a user