Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 定期下载多个XML产品提要。考虑因素?_Ruby On Rails_Feed - Fatal编程技术网

Ruby on rails 定期下载多个XML产品提要。考虑因素?

Ruby on rails 定期下载多个XML产品提要。考虑因素?,ruby-on-rails,feed,Ruby On Rails,Feed,我有一个网站,目前正在获取和阅读170个提要,范围从一些产品到数万个。他们平均每人有3000种产品。获取、读取和更新数据库需要几天甚至几周的时间。这其实不是一个大问题,因为我可以在一个月内分散工作(它们不会太频繁地更新) 但我认为我目前的解决方案不是最理想的,我希望得到一些反馈: 我使用openuri一次获取一个提要 然后我使用Nokogiri解析提要并遍历所有产品 根据产品是否存在,我在db中创建或更新帖子 我查看了Feedzirra,但结果发现更多的是博客订阅。为了加快速度并使这一方法变得更

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

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

  • 我使用openuri一次获取一个提要

  • 然后我使用Nokogiri解析提要并遍历所有产品

  • 根据产品是否存在,我在db中创建或更新帖子

  • 我查看了Feedzirra,但结果发现更多的是博客订阅。为了加快速度并使这一方法变得更加简单,我是否应该研究其他的宝石或方法


    抓取部分通常是速度较快的部分,因此我从中获得的最大好处是数据库的实际更新。是否有任何智能的gems或方法可以同时进行多个更新和创建?

    将信息以大块的形式移动到数据库中,因为在单个sql语句周围进行循环会更快,并减少托管服务器上的资源使用请参阅:代码是针对PHP的,但该技术应该转换为ruby


    另外要考虑的是效率。如果一个包含20个项目的RSS提要自上次查看以来只添加了一个新项目,那么就没有必要再次删除其余19个项目的产品页面。虽然这可能是一个痛苦的代码,它将有助于涡轮增压内容检索多个饲料。lovelogic.net UK Job scanner上的类似配置使用这种方法每天观察大约570个提要。

    将信息以大块的形式移动到数据库中,因为在单个sql语句周围进行循环更快,并且减少了托管服务器上的资源使用。请参见:代码是针对PHP的,但该技术应该转化为鲁比

    另外要考虑的是效率。如果一个包含20个项目的RSS提要自上次查看以来只添加了一个新项目,那么就没有必要再次删除其余19个项目的产品页面。虽然这可能是一个痛苦的代码,它将有助于涡轮增压内容检索多个饲料。lovelogic.net英国作业扫描仪上的类似配置使用这种方法每天观察大约570个提要