2012-02-03 43 views
0

正如標題所說,我需要通過SFTP連接監控遠程文件夾中的新文件。通過Rails應用程序通過SFTP監控遠程文件夾

我設置了一個守護進程,打開一個連接,如果它發現任何文件,然後它檢索它們的內容,如果它不,然後它睡5秒。這工作正常,它只是徘徊在4%左右的CPU使用率。有沒有更好的方法來做到這一點,並保持這樣的連接無限期地開放是不好的?

+0

爲什麼你不能做相反的事情?在服務器上用可以使用操作系統鉤子的文件設置一個守護進程,只有當文件夾實際發生變化時纔會被喚醒,然後讓應用程序進行ping操作。 – 2012-02-03 22:36:03

回答

0

根據具體情況,這可能是您可以做的最好的事情。當看到的目錄變大時,守護進程可能會運行得更慢並消耗更多資源。

單個持久連接在客戶端和服務器上都是空的。但是如果客戶端很多,服務器可能會變慢。

如果你控制另一臺服務器,更好的方法是在它上面安裝一個守護進程。本地進程可以偵聽文件系統通知並向連接的觀察者廣播。