簡體   English   中英

nodejs-永久掃描目錄以查找新文件

[英]nodejs - scan directory forever for new files

想知道什么是最好的方法適合我的情況。 當前正在運行一個Linux AWS實例,該實例運行Apache,並托管Nodejs應用程序。

這是事物“流程”的簡要情況:

  1. 用戶通過http帖子上傳文件(我有此工作)
  2. 文件已應用了一些驗證(正確的字段,什么沒有。)
  3. nodejs將文件寫入Linux盒子上的某個目錄
  4. nodejs執行一個shell命令,該命令執行一個shell腳本。 該Shell腳本將拾取剛編寫的文件,以通過Linux機器上的另一個第三方應用程序對其進行處理。
  5. 該“其他”應用程序完成處理后,將另一端的已處理文件吐出到某個目錄。
  6. 返回nodejs,獲取新文件並將數據處理到數據庫中

因此,在這里我需要幫助的是在步驟5和6之間處理文件后的部分。最好的方法是什么?

  1. 我是否可以在nodejs中執行一些無限循環,每隔X秒搜索一次,如果該目錄中存在文件,則進行拾取和處理,然后刪除?

要么

  1. 最好在將要執行該任務的linux機器上設置cron作業? 我需要一種讓nodejs應用程序“知道”文件已准備好發送到數據庫的方法。

如果我選擇選項1,那么在node js應用中會是什么樣子? 就像是?

while(true){ //forever loop
//do stuff
process.sleep(30 seconds)
}

如果選項2更好,我如何讓nodejs應用知道如何處理該文件? 也許只是將Express端點稱為發出信號並查看目錄的信號?

我已經完成了所有其他工作(數據庫連接,文件讀/寫等)。 我的大腦只是停留在這種嘗試上,試圖了解如何或多或少讓這兩個不同的應用程序通知另一個。

用“ chokidar”做這件事! 多么偉大的圖書館! 大大改進了nodejs隨附的默認“ fs.watch”。 完美地完成了我需要做的事情。 感謝marekful的建議!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM