【问题标题】:Downloading multiple XML product feeds regularly. Considerations?定期下载多个 XML 产品提要。考虑因素?
【发布时间】:2012-05-10 10:53:25
【问题描述】:

我有一个网站,目前正在获取和读取 170 个提要,范围从少数产品到数万个。平均而言,他们每个人都有 3 000 种产品。相应地获取、读取和更新数据库需要几天甚至几周的时间。这实际上不是一个大问题,因为我可以在一个月内将工作分散开(它们不会太频繁地更新)。

我认为我目前的解决方案并不是最理想的,希望得到一些反馈:

  1. 我使用 open-uri 来获取提要,一次一个

  2. 然后我使用 Nokogiri 解析提要并循环浏览所有产品

  3. 根据产品是否存在,我在数据库中创建或更新帖子。

我查看了 Feedzirra,但结果发现它更多地用于博客提要。为了加快速度并采用这种相当简单的方法,我还应该研究任何其他宝石或方法吗?

获取部分通常是较快的部分,因此我从中获得的最大收益将是数据库的实际更新。是否有任何智能宝石或方法可以同时进行多次更新和创建?

【问题讨论】:

    标签: ruby-on-rails feed


    【解决方案1】:

    将信息以大块的形式移动到数据库中,因为围绕单个 sql 语句的反对循环会更快并减少托管服务器上的资源使用,请参阅:https://stackoverflow.com/a/10560813/723871 代码用于 PHP,但该技术应转换为 ruby​​。

    另外需要考虑的是效率。如果一个包含 20 个项目的 RSS 提要自您上次查看以来仅添加了一个新项目,则无需再次抓取剩余 19 个的产品页面。尽管编写代码可能会很痛苦,但它将有助于加速跨多个提要的内容检索。 lovelogic.net UK Job 扫描仪上的类似配置每天使用这种方法观看大约 570 个提要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-31
      相关资源
      最近更新 更多