У меня возникла проблема с управлением файлами. У меня есть контент, который будет обновляться ежедневно, и я хочу проанализировать данные из некоторых файлов. Но проблема у меня есть, я не хочу прикасаться к файлам, которые я уже сделал. Как я могу следить за тем, что уже было сделано, и с чего начать в следующий раз. Использование nodejsОтслеживание файлов
0
A
ответ
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();
Спасибо большое, что должно сработать. По какой-то причине ур код не работает – Slygoth
@Slygoth какая ошибка вы получаете? Я предполагаю, что вы заменили имена файлов полным путем. В первый раз выполнение не произойдет, пока не перезагрузится миллисекунды. – Ashwin
O хорошо большое спасибо – Slygoth