Я хотел бы направить содержимое файла в поток назначения и после этого продолжать помещать вновь добавленное содержимое файла в поток назначения.
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
в течение секунды после его поступления в файловую систему. В чем причина большой задержки, которую я вижу во втором подходе? Как правильно это сделать? Могу ли я сделать это через потоки, настроить просмотр файлов или что-то еще? Как я могу убедиться, что у меня не осталось файловых дескрипторов / перечитать весь файл?