跟踪文件

时间:2017-02-17 22:49:47

标签: javascript json node.js google-drive-realtime-api

我遇到管理文件的问题。我有一些内容将每天更新,我想解析一些文件中的数据。但是我遇到的问题是我不想触摸我已经做过的文件。如何跟踪已经完成的工作以及下次从哪里开始。使用nodejs

1 个答案:

答案 0 :(得分: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();