diff --git a/plugins/cleaner.js b/plugins/cleaner.js index bb00719..b8ab326 100644 --- a/plugins/cleaner.js +++ b/plugins/cleaner.js @@ -1,21 +1,22 @@ 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; -var doClean = function() { - -} - module.exports.init = function(config) { logger.info('Using cleaner plugin'); logger.info(config); var job = new CronJob({ 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 }); - doClean(); }; diff --git a/plugins/config-cleaner.js b/plugins/config-cleaner.js index b550cf3..e0dafac 100644 --- a/plugins/config-cleaner.js +++ b/plugins/config-cleaner.js @@ -1,5 +1,6 @@ module.exports = { - cronTime: '* * * * *' + cronTime: '* * * * *', + threshold: 10, // in seconds };