2009-11-25 68 views
0

我試圖在系統中設置提醒以在某個特定時間觸發。是否有可能具有無狀態定時功能

這是一個基於網絡的應用程序,所以它不會像它一直在內存中一樣。

理想我想避免使用服務器上的服務或工作(主要是出於好奇,看看是否有更有效的方式來做到這一點)

例如,想象有多少Ebay的投標總是不斷地結束,並且電子郵件被及時發送出去。

人們是否偵察也只是一個大循環一遍又一遍地,移動物品放入隊列等...或者是有什麼較低水平幫忙(存儲過程,觸發器等)

謝謝大家。

回答

0

你必須認識到的有關eBay和大多數大型數據庫支持的網站是人和數據庫之間通過網絡服務器進行的交互只是一部分(有時是很小的一部分)系統。

以eBay爲例,拍賣到期時發送的電子郵件不由Web服務器處理。他們更有可能擁有該腳本。換句話說,在他們的系統上運行着另一個程序,它們在數據庫中查看已結束的拍賣,對它們進行一些處理,發送電子郵件等。

如果我正在做類似的事情(儘管數量很多規模較小),我會以通常的方式構建我的Web服務,但每隔幾分鐘就會有一項工作自動運行,以執行維護工作。它會啓動,查看數據庫的工作情況,處理所需的任何內容,然後退出。

+0

酷,這正是我打算做的,以及這似乎不是壞系統。我只是覺得可能有某種方法將事物與時間點綁定。嗯,也許我可以有一個過程,每隔一小時或一天查看數據庫,並緩存必須發生的操作。然後,可以更有效地循環,並且您只需每小時重建緩存(猜測,也可能是一天)。那麼如果出了什麼問題,你還沒有失去任何內存信息,但是當它工作時,你會得到更少的db循環。 – 2009-11-26 10:11:14