2017-02-17 1 views
0

파일 관리에 문제가 있습니다. 매일 업데이트 될 일부 콘텐츠가 있고 일부 파일에서 데이터를 구문 분석하려고합니다. 하지만 내가 가지고있는 문제는 이미 내가 한 파일을 건드리지 않으려는 것입니다. 이미 수행 된 작업과 다음에 다시 시작할 작업을 추적하는 방법은 무엇입니까? nodejs 사용파일 추적하기

답변

1

파일이 로컬 파일 시스템에 있다고 가정합니다. 1. lastModifiedTime을 읽습니다. 2. lastModifiedTime이 파일의 이전 lastModifiedTime과 다른 경우 lastModifiedTime을 업데이트 한 다음 파일을 구문 분석하고 파일을 읽은 다음

일정한 간격으로 2 단계를 실행합니다. (코드에서 60 초)

var fs = require("fs"); 

var filePaths = ['file_name_1', 'file_name_2']; 
var mtimes = {}; 
var reloadTimes = 60000; 
var execFunction = function(){ 
    for(var i = 0; i < filePaths.length; i++) { 
     parseFile(filePaths[i], mtimes[filePaths[i]]); 
    } 
}; 
setInterval(execFunction, reloadTimes); 
var parseFile = function(fileName, lastModifiedTime) { 
    fs.stat(fileName, function(err, fd) { 
     if(lastModifiedTime == undefined || fd.mtime.getTime() !== lastModifiedTime.getTime()) { 
      mtimes[fileName] = fd.mtime; 
      // read the file and parse it 
     } 
    });  
}; 
execFunction(); 
+0

감사합니다. 어떤 이유로 UR 코드가 실행되고 있지 않습니다. – Slygoth

+0

@ Slygoth 어떤 오류가 발생합니까? 파일 이름을 전체 경로로 바꿨다고 가정합니다. reloadTimes 밀리 초가 끝날 때까지 최초 실행은 발생하지 않습니다. – Ashwin

+0

오케이 대단히 감사합니다 – Slygoth