bitcore-node-zcash/plugins/cleaner.js

26 lines
753 B
JavaScript
Raw Normal View History

2014-09-01 07:36:25 -07:00
var mdb = require('../lib/MessageDb').default();
var logger = require('../lib/logger').logger;
var preconditions = require('preconditions').singleton();
2014-09-01 15:47:59 -07:00
var microtime = require('microtime');
2014-09-01 10:09:58 -07:00
var cron = require('cron');
2014-09-01 10:34:20 -07:00
var CronJob = cron.CronJob;
2014-09-01 07:36:25 -07:00
2014-09-01 10:34:20 -07:00
2014-09-01 07:36:25 -07:00
module.exports.init = function(config) {
2014-09-01 16:23:23 -07:00
var cronTime = config.cronTime || '0 * * * *';
logger.info('Using cleaner plugin with cronTime ' + cronTime);
var onTick = function() {
var limit = microtime.now() - 1000 * 1000 * config.threshold;
mdb.removeUpTo(limit, function(err, n) {
if (err) logger.error(err);
else logger.info('Ran cleaner task, removed ' + n);
});
};
2014-09-01 10:34:20 -07:00
var job = new CronJob({
2014-09-01 16:23:23 -07:00
cronTime: cronTime,
onTick: onTick
2014-09-01 10:34:20 -07:00
});
2014-09-01 16:23:23 -07:00
onTick();
job.start();
2014-09-01 07:36:25 -07:00
};