NodeJS: потоковое содержимое добавляемого файла - PullRequest
0 голосов
/ 25 марта 2020

Я хотел бы направить содержимое файла в поток назначения и после этого продолжать помещать вновь добавленное содержимое файла в поток назначения.

function (req, res) {
  // this doesn't work because the file stream signals 'end' 
  // when it reaches the file's current end, closing res
  fs.createReadStream('log.txt', {autoClose: false}).pipe(res);

  // this works eventually but has a large delay (ca 1 minute)
  // between new file contents arriving on disk and 
  // the file stream emitting new data
  var fileStream = fs.createReadStream('log.txt', {autoClose:false});
  fileStream.on('data', d => res.write(d);
}

Моя цель - отправлять новые данные на до res в течение секунды после его поступления в файловую систему. В чем причина большой задержки, которую я вижу во втором подходе? Как правильно это сделать? Могу ли я сделать это через потоки, настроить просмотр файлов или что-то еще? Как я могу убедиться, что у меня не осталось файловых дескрипторов / перечитать весь файл?

...