我正在建立一个网站,它将从几个不同的来源导入产品。我将从一些XML导入开始,之后我可能还需要实现CSV导入。它将从URL获取XML,然后检查每个帖子并查看产品是否已存在,如果存在,请检查价格并更新它是否已更改。我听说过Nokogiri的好东西,并将其用于XML解析。我将使用Rails 3.1.1。
我是Rails的新手并且有一些问题。我正在尝试构建这个用于学习Rails的应用程序,并尝试一些TDD。
我应该将导入脚本构建为rake任务吗?这是一个好方法吗? 我如何定期运行这些?我是否像在PHP中一样设置cronjob?
XML源在结构,元素名称等方面会有所不同,所以我想我必须为每个源创建一个导入脚本。这是一个很好的方法还是我可以以某种方式创建一个更通用的导入脚本,并以某种方式将不同的元素映射到我的数据库中的正确列?
很多问题......我希望有人可以给我一些提示,让我朝着正确的方向前进。
谢谢, 莱纳斯
答案 0 :(得分:0)
很多问题,我会尝试回答其中的一些问题。
Nokogiri是个不错的选择。
是的,您可以将脚本作为cron作业运行,或者您可以设置常规的rails守护程序(谷歌它)有很多选项可用,具体取决于您希望它运行的频率,或者您希望如何设置它。我已经将这些东西创建为rake任务,然后将cron设置为仅定期运行rake任务。如果你对rake和cron感到满意,这是一个好主意。
是的,您可能会找到将类似XML的脚本组合在一起的方法。你的rake任务将是ruby - 没有什么能阻止你测试XML的类型,然后在你编写的库中的模块中调用适当的方法来提取数据 - 然后有一个通用的方法来创建数据库中包含该数据的新对象。