的Rails替代的Ruby過濾器/觀察家有一個很好的組過濾器(before_validation,before_create,after_save的,等等),以及觀察員的支持,但我面對的其中依靠的情況過濾器或觀察者的計算成本太高。我需要一個替代品。需要on Rails項目
的問題:我登錄的Web服務器命中大量的頁面。我需要的是一個觸發器,當給定的頁面被查看超過X次時,它將執行一個動作(比如發送一封電子郵件)。由於大量的頁面和命中,使用過濾器或觀察者將導致大量浪費時間,因爲在99%的時間內,它測試的條件將是錯誤的。電子郵件不是必須立即發送(即5-10分鐘的延遲是可以接受的)。
我正在考慮的是實現某種過程,每隔5分鐘左右掃描一次數據庫,並檢查哪些頁面被命中超過X次,將該狀態記錄在新的數據庫表中,然後發送出相應的電子郵件。它不完美,但它會工作。
其他人有更好的主意嗎?
我不想發佈這個作爲答案,因爲我沒有徹底研究過它,但谷歌搜索'rails cron'進入你的問題域?如果是這樣,我敢打賭你的問題可能更具體。 – 2009-05-22 22:08:39
我知道!只有當它是真的時才測試條件,這樣可以節省99%的處理時間。 :D – 2009-05-22 22:09:39