2017-09-23 44 views
0

我想檢查我的數據庫中的項目,每x分鐘y10分鐘後創建。最有效的方法來檢查時差

我已經想出了兩種方法來做到這一點,我不確定哪個會導致更好的效率/速度。

首先是日期字段存儲模型,並完成類似

Model.find({time_created > current_time - y}) 

cron作業每x分鐘內。

第二個是保持times_to_check場持續跟蹤了多少次,基於xy,對象應該進行檢查。

Model.find({times_to_check> 0}) 

我爲什麼這兩個可能是相當的想法是因爲Dates第一比較將需要更長的時間,但第二個要求對數據庫的寫入對象已經檢查之後。

回答

0

因此,無論哪種方式,您都必須連續檢查數據庫以查看是否應該查詢您的集合。在您的「第二種解決方案」中,您無法運行後臺進程,因爲您只參考瞭如何確定收集增量。

堅持運行你的UNIX的Cron作業,但要確保它具有容錯能力,有一個控件確保它在應用程序啓動時實際運行。下面是如何處理這個問題的一個很好的答案。

How do I write a bash script to restart a process if it dies?

此基礎上我會問怎麼做,如果你的cron作業還沒有爲數分鐘,數小時或數天x次運行應用程序的反應。如果發生這種情況,你的應用程序如何恢復?

相關問題