2016-11-16 143 views
0

我在RoR開發出價應用程序,每次拍賣都有到期日期和時間。我在概念上停滯不前,正在進行拍賣。問題是,我必須向投標人提供正在進行的拍賣清單。不知何故,我需要放棄過期的拍賣節目只有正在進行的。在這種情況下,有什麼可以替代普通投票?

一種方法是,在提供清單之前,檢查每個拍賣的到期日期和時間,並過濾掉過期的那些自己。這肯定會帶來性能開銷。

第二種方法是以很短的時間間隔(例如一分鐘左右)輪詢拍賣清單,並用DB中的expired位標記過期的拍賣清單。這更糟糕。

如何在這裏玩智能?

+0

你可以發佈過期字段的數據庫結構嗎?你用來輪詢/查詢的代碼是什麼? – guiniveretoo

+0

我還沒有編碼民意調查,這是一個想法 –

+0

因此,由於這是一個拍賣網站,拍賣是否有某種'如果有人在XX時間內到期的時間出價XX'到期'? – guiniveretoo

回答

0

您可以創建一個字典,其中的密鑰是到期時間,並且這些值是對相關拍賣的引用。當您開始拍賣時,您可以計算該拍賣的結束時間並將其放入字典中。稍後,您可以簡單地檢查字典中當前時間的任何條目,而不是掃描所有拍賣的列表。

+0

這不起作用。在我訪問時,一些拍賣可能已經過期。這些將不會被映射到結束時鍵入的字典中的存儲區。 –

+0

我想象拍賣會每隔一整秒鐘過期。你應該能夠在一秒鐘內映射它們。如果你擔心通過大桶爬取只是使用更多桶......也就是說,實際上你可以檢查字典中的參考文獻,這些參考文獻將來會失去任意秒數。即在13:10:15檢查哪些在13:11:15到期,並將任何添加到「短名單」;那麼您可以將您的輪詢(對於在當前時間結束的拍賣)減少到這個簡短列表。 –

相關問題