From a9f65adb77cf7fb0c3b1b4c42f7d8865c7768ce0 Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Mon, 1 Sep 2014 19:47:59 -0300 Subject: [PATCH] cleaner plugin: first version --- plugins/cleaner.js | 13 +++++++------ plugins/config-cleaner.js | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/plugins/cleaner.js b/plugins/cleaner.js index bb007194..b8ab3260 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 b550cf38..e0dafacc 100644 --- a/plugins/config-cleaner.js +++ b/plugins/config-cleaner.js @@ -1,5 +1,6 @@ module.exports = { - cronTime: '* * * * *' + cronTime: '* * * * *', + threshold: 10, // in seconds };