在 Ruby 中解析巨大的 XML 不会处理服务器中的完整文件



我需要使用Nokogiri和Httparty解析一个3MB的XML文件,从XML中的链接解析内容。

当我在Windows 7 PC上这样做时,它工作得很好,但是当我在VPS中运行相同的脚本时,它似乎没有完全处理它。

是因为Ruby脚本在服务器上的最大执行时间限制吗?如果是这样,我如何在Ubuntu中增加它?

没有人会告诉你为什么没有日志会发生这种情况。你浏览了吗?

就VPS和xml而言-您可能会超过服务器上的最大可用内存(如果您有多个客户机,它们都加载xml,那么很快就会发生这种情况)。我不确定您是如何使用Nokogiri的,但我的建议是检查您是否使用SAX解析器(http://www.rubydoc.info/github/sparklemotion/nokogiri/Nokogiri/XML/SAX/Parser)

最终您将使用更少的资源(内存,执行时间),但有一个缺点- SAX解析器更难编写,特别是当xml结构复杂时,但它可能是最好的(查找基准测试"Nokogiri DOM vs SAX")

相关内容

  • 没有找到相关文章

最新更新