C++、C# などについては多くの回答が見つかりましたが、Node.js についてはまだ見つかりませんでした。これが私の場合です。
FTP サーバーでファイル/ディレクトリの変更 (新規または更新、削除されたファイルを気にしない) を監視するモジュールを作成しました。新しいファイルまたは既存のファイルが変更されたことに気付くと、通知を受け取り、このファイルを Sourceforge.net に同期するようにモジュール B に通知します。モジュールは正常に動作し、変更に即座に反応します。
しかし、私がまだ満足していないのは、新しいファイルが追加されると、そのファイルはファイルサイズに応じて「変更された」イベントを数回受け取るということです。サイズが大きいほど、より多くの「変更された」イベントを受け取ります。これは、ファイルがアップロードされている間、OS が定期的にアップロードされたバッファをファイル システムにフラッシュするため、複数の「変更された」fs.watch
イベントが発生するためです。
質問
ファイルがまだ開いているかどうかを確認して、ファイルが複数回変更されたためではなく、残りのデータがフラッシュされたために実際に「変更された」イベントが発生していることを確認して、無視できるようにするにはどうすればよいですか?」
ファイルが閉じられるか、書き込みが停止されると、モジュール B に通知して SF.net に同期することができます。
任意のアイデアをいただければ幸いです。ありがとう。