2012-04-25 82 views
1

我想知道什麼是最好的方式去發展,具有以下特點Rails應用程序:Rails應用程序

  • 所有數據都來自一個SOAP請求到第3黨
  • 後臺任務將會使這個SOAP請求每10秒〜
  • 後臺任務將解析​​響應,然後更新ActiveRecord模型相應
  • 如果應用程序中的數據不會寫入數據庫可言,失敗,當我們開始備份時,數據將來自於肥皂請求
  • 用戶將嚮應用程序發出請求,該應用程序將簡單地在模型中顯示數據(即,來自肥皂請求)。

這個想法是爲了避免爲每個用戶提出SOAP請求,因爲數據不會經常更改。不使用數據庫可以避免讀取和寫入只能來自請求的數據。

我想,這一切完全可以很簡單的幾個寶石,但我已經有點麻煩排序是通過什麼符合我的要求,哪些沒有。

感謝

+1

什麼? – sailor 2012-04-25 08:38:31

回答

1

我不知道你在這種情況下使用ActiveRecord得到什麼好處。

也許考慮SOAP調用的一些其他類型的持久性?

+0

使用ActiveRecord的好處是,我可以使用所有內置函數來使用各種查詢生成報告。 – brimble2010 2012-04-28 00:30:31

1

如果結果形成的WebService真的不改變,我會建議Rails的緩存機制。只要在你的Rails應用程序,你可以這樣做:

Rails.cache.fetch "a_unique_cache_key" do 
    ... do your SOAP request and return the result 
end 

這將做的工作塊內只有一次,並獲取在未來軌道緩存存儲它的結果。

緩存存儲爲各種類型(其中之一是內存緩存存儲)。我通常用中等流量的網站的文件存儲,但您可以選擇其他: 有關使用的memcache代替的ActiveRecord的http://guides.rubyonrails.org/caching_with_rails.html

+0

不幸的是,數據相當頻繁(不是很多的負載,一分鐘內可能是4或5次)。數據變化以及我們不關心歷史數據的事實是不使用數據庫的兩個原因。 – brimble2010 2012-04-28 00:32:03