2013-01-24 71 views
0

我有大約50個XML源需要解析和排序。我已經使用nokogiri完成了該工作,它在加載頁面時解析XML提要,並創建一個散列的散列。但是真的很慢。因此,我正在尋找更好的解決方案。Rails解析XML提要的最快方法?

解決方案我曾想過:

  1. 創建創建瞭解析和分類的所有50個供稿靜態XML飼料cron作業。用JS或nokogiri解析這個XML feed。解析它在用戶站點或服務器端更快?

  2. 打破某種程度上的cron作業XML飼料的部分供選擇。該飼料有例如200-500項目,我只需要顯示用戶約8項目公關。網頁..

+1

我想這不是解析速度慢,而是提取解析的提要。你有沒有分析你的應用程序?什麼是實際的瓶頸?另外,「慢」和「更快」 - 對於不同的人意味着非常不同的事物。 –

+0

現在我測試了大約20個(外部)XML源,並且頁面的加載時間爲14-30秒。 –

+0

此問題與http://stackoverflow.com/q/14459907/128421有關。 –

回答

5

它解析XML提要頁面加載

真的壞主意。除非你需要超新鮮的信息,並且願意爲此犧牲一些機器資源。

在後臺進程中獲取/解析它們。將結果存儲在數據庫(或文件,無論作品)中併爲您的本地內容提供服務。這會更快。

解析他們在後臺即使他們改變非常頻繁。通過這種方式,您不需要通過讓幾個Web工作人員完成相同的工作來刻錄CPU和加載網絡。

+0

如果我創建了一個後臺作業,創建了一個可能包含200-500個項目的XML文件,並且我只想分頁處理8個項目。頁。我應該如何分解文件,以便加載速度更快.. –

+0

分解文件或加載文件的速度更快嗎? –

+0

解析完文件後,可以將其存儲在數據庫中(作爲單獨的項目)。有分頁是一個解決的問題 –