2011-04-11 44 views
4

我有一個項目需要解析幾十萬個HTML和XML文檔。Nokogiri vs Goliath ...或者,他們可以相處嗎?

我認爲這將是學習Ruby光纖和新Goliath框架的絕好機會。

但很明顯,如果你使用阻塞庫,Goliath將會持平。但問題是,我不知道如何分辨什麼是「線程安全」(如果這甚至是Goliath的正確術語)。

所以我的問題是,Nokogiri是否會導致與Goliath或多線程/纖維有關的任何問題?

如果是這樣,是否有比Nokogiri更安全的使用?

感謝

+0

我建議直接向[Nokogiri-Talk](http://groups.google.com/group/nokogiri-talk)上的開發者提問。 – 2011-04-11 21:31:48

回答

5

歌利亞是一個Web框架,所以我假設你打算「攝取」通過HTTP這些文件?每個請求都映射到一個紅寶石光纖,但實際上,服務器運行在單個反應器線程中。

所以,要回答你的問題:Nokogiri是我所知道的線程安全的,但這在這裏甚至不應該有任何問題。你必須注意的事情:當文件被解析時,CPU被固定,而Goliath在此期間不會接受任何新的請求。所以,你必須實現正確的邏輯來處理你的特定情況(例如:你可以對來自套接字的數據塊進行流解析,或者在多個goliath服務器之間進行負載平衡,或者同時...... :-))

相關問題