X-Git-Url: http://git.pjr.cc/?p=nodejs-repoproxy.git;a=blobdiff_plain;f=lib%2Frepo-yum.js;fp=lib%2Frepo-yum.js;h=25db1704719b0db44fa23b439b8b51c88be09a0f;hp=07a18938655e8dc839620da5f8c570320923a024;hb=d7478970127408f056b157f18df74fef7db3f892;hpb=efd3942c83ad1235b32f983f53f89c984ef81db4 diff --git a/lib/repo-yum.js b/lib/repo-yum.js index 07a1893..25db170 100644 --- a/lib/repo-yum.js +++ b/lib/repo-yum.js @@ -2,61 +2,66 @@ var fs = require("fs"); 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]); } }) } @@ -65,7 +70,7 @@ function maintain(name, repoinfo, files) { } 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?"); }