var http = require("http");
var url = require("url");
var path = require("path");
+var cache = require("./cache.js");
+var log = require("./log.js");
function maintain(name, repoinfo, files) {
- console.log("doing yum clean for ", repoinfo);
+ log.info("Starting maintenance routine for yum repo %s (%s)", name, repoinfo.url);
var metaAge = 24*3600*1000*(repoinfo.updateinterval);
var expireAge = 24*3600*1000*(repoinfo.expiretime);
function fileCheck(i) {
- console.log("checking file: ", files[i]);
+ log.debug("checking file: ", files[i]);
// we look for repodata/repomd.xml file, if this is past maturity, we clean that whole directory
if(files[i].match(/.*repodata\/repomd\.xml$/)) {
- console.log("Found repomd.xml file: ", files[i]);
+ log.debug("Found repomd.xml file: ", files[i]);
// strip the repomd file to get the dir
var repomddir = files[i].replace(/repomd\.xml$/, "");
- console.log("repomd dir is:", repomddir);
+ log.debug("repomd dir is:", repomddir);
// do the file stat
fs.stat(files[i], function(err, stats) {
- console.log("stats for file was: ", stats);
+ log.debug("stats for file was: ", stats);
var curtime = new Date().getTime();
var ctime = stats.ctime.getTime();
- console.log("curtime is ", curtime);
- console.log("ctime is ", ctime);
+ log.debug("curtime is ", curtime);
+ log.debug("ctime is ", ctime);
var age = curtime - ctime;
- console.log("age is (%d) for (%d)", age, metaAge);
+ log.debug("age is (%d) for (%d)", age, metaAge);
if(age > metaAge) {
// TODO: cleanup repomd directory
+ cache.moveToCleanup(repomddir);
+ log.info("Sending repomd directory to trash for cleanup (%s)", repomddir);
}
})
} else {
// STUFF!!!
fs.stat(files[i], function(err, stats) {
- console.log("stats for file was: ", stats);
+ log.debug("stats for file was: ", stats);
var curtime = new Date().getTime();
var atime = stats.atime.getTime();
- console.log("curtime is ", curtime);
- console.log("ctime is ", atime);
+ log.debug("curtime is ", curtime);
+ log.debug("ctime is ", atime);
var age = curtime - atime;
- console.log("age is (%d) for (%d)", age, expireAge);
+ //console.log("age is (%d) for (%d)", age, expireAge);
if(age > expireAge) {
// TODO: cleanup singular file
// TODO: cleanup meta too, fuck me
- console.log("clean up file \n", files[i]);
+ //console.log("clean up file \n", files[i]);
var metafile = files[i].replace(/(.*)\/(.[^\/]+$)/, "$1/.meta.$2.filesize");
//console.log("meta for this file is \n", nfile);
- fs.unlink(files[i]);
- fs.unlink(metafile);
+ cache.moveToCleanup(files[i]);
+ cache.moveToCleanup(metafile);
+ log.info("Sending expired file to trash for cleanup (%s)", files[i]);
}
})
}
}
if(typeof files[0] != 'undefined') fileCheck(0)
- else console.log("Skipping (yum) file check as there are none... apprently?");
+ else log.info("Skipping (yum) file check as there are none... apprently?");
}