新しいアーカイブファイルが到着して処理されるディレクトリをリッスンするnode.jsスクリプトを作成するタスクがあります。Node.js scpで受信アーカイブのディレクトリを監視
私はfs.watch
でこれを行うことができます。
ファイルがscp
を経由して到着したtar.gz
アーカイブです。
問題は、新しいアーカイブファイルの到着は、ファイル・システム内の複数の(正確な数は予測不可能である)イベントを作成するようだということです。最初はrename
であり、続いていくつかの数がchange
イベントです。
アーカイブの転送が完了すると、処理ロジックを確実に1回だけ確実にトリガーする必要があります。これはどうすればできますか?
その他の注意事項:
- 私はアーカイブ、それを受け取るだけ システムを送るシステムに変更を加えることができないのです。
- 私は、 までの経過時間の使用を検討していないため、scpイベントが終了したと推測されます。それは信頼できません。
非常にクールです。私はこのライブラリを知らなかった。チップのおかげで –
これは実際には問題を解決していません - 時計モジュールは単に 'fs.watch'をラップします。 'created'イベントは、既に観測された' rename'イベントOPに直接相当します。同じ問題が発生した直後です。 – josh3736
私もそう思っていましたが、ファイルごとに1つのイベントしか生成していないようです。 –