【发布时间】:2012-11-14 23:47:06
【问题描述】:
我找到了很多关于 C++、C# 等的答案,但还没有找到关于 Node.js 的答案。这是我的情况。
我创建了一个模块,用于监视我的 FTP 服务器中的文件/目录更改(新的或更新的,不关心已删除的文件)。一旦我注意到一个新文件或现有文件发生更改,我就会收到通知并通知我的模块 B 将此文件同步到 Sourceforge.net。该模块工作正常,对更改立即做出反应。
但我还不满意的是,当添加新文件时,该文件会根据文件大小多次接收“修改”事件:大小越大,它将接收的“修改”事件越多.这是因为在上传文件时,操作系统会定期将上传的缓冲区刷新到文件系统,从而导致多个“修改”fs.watch 事件。
问题
如何检查文件是否仍然打开,以便我知道“修改”事件实际上是因为剩余数据被刷新而不是因为文件已被多次更改,所以我可以忽略它? "
文件关闭或写入停止后,我可以通知我的模块 B 同步到 SF.net。
我会很感激任何想法。谢谢。
【问题讨论】:
标签: node.js filesystemwatcher fs