我有需要在后台(滑轨5.0.1)下面的命令 -守护VS亚军VS Rake任务VS主动工作
- 执行的任务的列表下载一个zip文件
- 从中提取XML文件(平均大小约400 MB)
- 解析(XML引入nokogiri读者::)对符合一定的约束,如果发现,将它们添加到数据库中记录的xml文件(Postgres的)
- 找回一些来自数据库的电子邮件地址并发送给他们电子邮件
这需要每天完成,无需任何人工输入。现在,我正在使用Rails runner来完成所有这些工作,并使用cron('Whenever'gem)安排它。所以,正在使用'转轮'正确的方法?有没有一个减少内存密集方法我可以使用,因为前端(管理面板)将不会被访问太多?积极的工作,耙子,守护进程等如何?
无论您如何安排工作,解析XML都将成为瓶颈。如果您想要更少的内存密集型方法,那么尝试找到不涉及将400mb XML文件解析到内存中的内容。 – max
@max我目前正在使用Nokogiri xml读取器,它不会将xml加载到内存中,而是依次读取行,解析节点。有更好的解决方案吗?也许分裂的XML文件? – rohank