2009-10-11 26 views
0

我試圖計劃如何在我的新應用程序中構建一些功能,並且不確定是否存在「正確」方式來實現我正在尋找。如何在沒有觸發函數的情況下測試應用程序,數據庫和日期更改

有一些事情我想用我的網站完成,比如某個dateTime與其他日期時間相匹配,然後發送電子郵件。或者,例如,考慮一下stackoverflow上的徽章,你認爲它是否可以通過一些大的循環測試來獲取新徽章的資格,或者是否存在一些我缺少的設計模式。

這是我現在的計劃。

  1. 設置一個函數,每隔1-10分鐘會觸發一次,這將檢查數據庫是否符合任何規則,因此需要採取措施。

  2. 在與之相關的任何記錄,或者日誌添加這些檢查對每個用戶的基礎上,當用戶查看。

如果任何人都可以闡明如何例如易趣會處理它的任何光線電子郵件通知,我認爲這會指向正確的方向。

感謝您的任何幫助。即使是我所尋找的名字也會很有幫助。

回答

1

你所做的事實的確是通常在「網絡應用程序」之外完成的。您可以將其稱爲「批處理作業」或「計劃任務」,或任何您喜歡的。 的方式它通常通過使用cron至少在類Unix系統上完成。例如,Cron使用一個簡單的配置文件來說,「每十分鐘運行一次清理用戶數據庫的shell腳本」,或者「在午夜抽​​真空數據庫」。如果你使用的是Windows服務器,那麼我不知道它通常在那裏做什麼。

+0

對,對我來說聽起來不錯,我以前用過crons。我想知道的是,有沒有更好的方法來做到這一點,這並不意味着一直運行批處理作業。對於電子郵件通知等,我希望儘快發送它們,但希望不要每分鐘都運行整個批處理。 – 2009-10-11 19:36:19

+0

確實如此。這通常是通過使用消息隊列完成的。 – 2009-10-11 21:06:36

+0

我正在考慮創建一個工作隊列,所以應用程序必須在做事情時被捆綁起來,或者可以有條不紊地發送郵件。 – 2009-10-12 10:10:49

0

可能有一個lib可用於此。如果你正在使用Java Quartz可能適合你:http://www.quartz-scheduler.org/

我希望有類似的東西可用於其他主流語言。

相關問題