cleaner plugin: first version
This commit is contained in:
parent
02659021d3
commit
a9f65adb77
@ -1,21 +1,22 @@
|
|||||||
var mdb = require('../lib/MessageDb').default();
|
var mdb = require('../lib/MessageDb').default();
|
||||||
var logger = require('../lib/logger').logger;
|
var logger = require('../lib/logger').logger;
|
||||||
var preconditions = require('preconditions').singleton();
|
var preconditions = require('preconditions').singleton();
|
||||||
|
var microtime = require('microtime');
|
||||||
var cron = require('cron');
|
var cron = require('cron');
|
||||||
var CronJob = cron.CronJob;
|
var CronJob = cron.CronJob;
|
||||||
|
|
||||||
|
|
||||||
var doClean = function() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports.init = function(config) {
|
module.exports.init = function(config) {
|
||||||
logger.info('Using cleaner plugin');
|
logger.info('Using cleaner plugin');
|
||||||
logger.info(config);
|
logger.info(config);
|
||||||
var job = new CronJob({
|
var job = new CronJob({
|
||||||
cronTime: config.cronTime || '0 * * * *',
|
cronTime: config.cronTime || '0 * * * *',
|
||||||
onTick: doClean,
|
onTick: function() {
|
||||||
|
var limit = microtime.now() - 1000 * 1000 * config.threshold;
|
||||||
|
mdb.removeUpTo(limit, function(err, n) {
|
||||||
|
logger.verbose('Ran cleaner task, removed ' + n);
|
||||||
|
});
|
||||||
|
},
|
||||||
start: true
|
start: true
|
||||||
});
|
});
|
||||||
doClean();
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
||||||
cronTime: '* * * * *'
|
cronTime: '* * * * *',
|
||||||
|
threshold: 10, // in seconds
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user