Ich habe einen NodeJS (Elektron) Code zum Lesen aller Dateien in einem bestimmten Verzeichnis und Unterverzeichnissen erstellt. Ich möchte nicht zu viele HD-Ressourcen verwenden, weshalb ich eine Verzögerung von 5 ms zwischen den Ordnern verwende.Wie alle Dateien durchlaufen werden, und pausieren und weitermachen
Jetzt meine Frage. Ich möchte das, wenn mein NODE-Prozess aufhört? Ich möchte fortfahren können, wenn es gestoppt wird. Wie soll ich das machen?
Mit anderen Worten: Wie Index des aktuellen Status während des Laufens in allen Dateien und Ordner zu halten, so kann ich die Traversierung fortsetzen, wenn es aufgehört hat.
Danke
Mein Code:
var walkAll=function(options){
var x=0
walk(options.dir,function(){})
function walk(dir,callback) {
var files=fs.readdirSync(dir);
var stat;
async.eachSeries(files,function(file,next){
file=dir +'/' + file
if (dir.match(/Recycle/)) return next()
if (dir.match(/.git/)) return next()
if (dir.match(/node_modules/)) return next()
fs.lstat(file,function(err,stat){
if(err) return next()
if(stat.mode==41398) return next()
if (stat.isDirectory()) {
setTimeout(function(file){
walk(file,next)
}.bind(null,file),5)
}
else{
x++
if(false || x % 1000===0) console.log((new Date().valueOf()-start)/1000,x,file)
next()
}
})
},function(){
callback()
})
}
}
walkAll({
dir:'c:/',
delay:1000
});
Die erste Frage ist, wie Sie persistance für Ihren Index erhalten wird. Der Index kann dank 'eachSeries' abgeleitet werden, was wie eine" Schleife "funktioniert, so dass Sie eine Variable inkrementieren können. – DrakaSAN