2017-06-07 14 views
-1

こんにちは私はマウントされたフォルダからファイルの変更を監視しているノードJSサーバを使用していますが、ファイルがローカルファイルである必要があるため変更を検出しません。ノードjsはマウントされたフォルダのファイルを参照します

私は別のPC

から変更ファイルを検出し、このONDEノードJSのようにそれを行う必要があるため、誰もが私に解決策を求めることができ、コードがある:

var express = require('express'); 
var app = express(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server); 
var fs = require('fs'); 
var watch = require('node-watch'); 

var last={ 
    id: "1", 
    content:"" 
} 
io.on('connection', function(socket) { 

    console.log('Some one is connected by Sockets'); 
    socket.emit('telegrama', lastGDC); 


}); 

watch('data/position.csv', { recursive: true }, function(evt, name) { 
    console.log('%s changed.', name); 
    /* last.content=fileChangedContent;*/ 
    io.sockets.emit('telegrama', last); 

}); 
server.listen(8080, function() { 
    console.log("running server ://localhost:8080"); 
}); 
+0

Th重要な詳細が欠落しています。データフォルダはどのようにマウントされていますか? –

+0

@LorenzMeyer私の推測はsshfsになるでしょう – robertklep

+0

おそらく、頼りにする代わりにポーリングを使って変更をチェックする['fs.watchFile'](https://nodejs.org/api/fs.html#fs_fs_watchfile_filename_options_listener)を使うことができます(すべての)マウントされたファイルシステムでは機能しないメカニズム。 – robertklep

答えて

0

それが問題だった、今働いています私のマウントされたファイルを検出することはできませんが、watchFileを使って作業した場合、デフォルトでwatchFileは5007ミリ秒の間隔で動作し、このようなオプションで設定できます。

watchFile('path/file.txt', { recursive: true,interval:2000 },   
}); 
関連する問題