Node.js无法同时从两个应用程序访问文件

时间:2019-05-30 09:42:14

标签: file concurrency nodes access tail

我有两个nodejs应用程序。一种是使用旋转文件流将日志写入文件。 第二个应用程序需要使用这些日志并通过在日志文件更改时读取日志文件来进行处理。基本上,我试图设置基于原始磁盘的队列。我看到的问题是,在关闭生产者应用程序的流之前,消费者应用程序无法查看日志。

在此消费者应用程序上,我尝试了fs.watch,chokidar和tail(我什至没有得到更改事件)。但是,当我尝试在可以立即获取更改的终端上运行“ tail -f”时。

1 个答案:

答案 0 :(得分:0)

从我发现的情况来看,这似乎是与平台相关的问题,在我的情况下是macOS。使用fs.watchFile而不是fs.watch解决了此问题。值得庆幸的是,我正在使用的库(chokidar和tail)提供了api标志来做到这一点。