X-Git-Url: http://git.pjr.cc/?p=nodejs-repoproxy.git;a=blobdiff_plain;f=lib%2Fconfig.js;h=441caedc6a427a9757932ed321be9cfd2a66b34c;hp=8d5de4bc5d8fd99280b57d0546795453de304b69;hb=d9c7eb8248208029df200a897d680914cd0f337f;hpb=48d657a4697bd9239f7ce9e4d7a479e08e1cb04e diff --git a/lib/config.js b/lib/config.js index 8d5de4b..441caed 100644 --- a/lib/config.js +++ b/lib/config.js @@ -6,6 +6,7 @@ exports.loadConfig = function (conffile) { global.repoproxy.listenPort = 8008; global.repoproxy.cacheDir = "./cache"; global.repoproxy.repo = new Object(); + global.repoproxy.scancache = 1; var confFileData = fs.readFileSync(conffile, "utf8"); @@ -32,17 +33,25 @@ exports.loadConfig = function (conffile) { break; case "cachedir": - console.log("Cache dir set to: ", line_real[1]); - global.repoproxy.cacheDir = line_real[1]; - + var tmppath = line_real[1].replace(/\/+/g, "/"); + console.log("Cache dir set to: ", tmppath); + global.repoproxy.cacheDir = tmppath; break; case "listenport": console.log("Port set to: ", line_real[1]); global.repoproxy.listenPort = line_real[1]; break; + case "cachescan": + console.log("Set cache scan rate to: '%s' hours", line_real[1]); + global.repoproxy.scancache = parseInt(line_real[1]); + if(global.repoproxy.scancache == 0) { + console.log("Cache scan rate didnt make sense, it was 0, and should be at least 1 - it is set to 24, but you should check this setting"); + global.repoproxy.scancache = 24; + } + break; default: if(line_real[0] != "") { - console.log("Invalid line in configuration file ignored: '%s'", line_one); + console.log("WARNING Invalid line in configuration file ignored: '%s'", line_one); } } } @@ -58,11 +67,18 @@ function createCacheStructure() { } catch(e) { try { fs.mkdirSync(global.repoproxy.cacheDir); + fs.mkdirSync(global.repoproxy.cacheDir + "/.cleanup"); } catch(ex) { console.log("ERROR: failure to create cache directory, '%s'", global.repoproxy.cacheDir); } } + try { + fs.mkdirSync(global.repoproxy.cacheDir + "/.cleanup"); + } catch(ex) { + console.log("ERROR: cant create cleanup directory, '%s'", global.repoproxy.cacheDir + "/.cleanup"); + } + for(var index in global.repoproxy.repo) { var fullDir = global.repoproxy.cacheDir + "/" + index; try {