Nic*_*ett 5 screen-scraping ruby-on-rails nokogiri
我有一个网站,需要在许多不同的网站上使用Nokogiri来提取数据.此过程使用delayed_job gem作为后台作业运行.但是,每页运行大约需要3-4秒,因为它必须暂停并等待其他网站响应.我目前只是通过基本上说来运行它们
Websites.all.each do |website|
# screen scrape
end
Run Code Online (Sandbox Code Playgroud)
我想分批执行它们而不是每个都执行它们,这样我就不必等待来自每个站点的服务器响应(在一段时间内最多可能需要20秒).
什么是最好的红宝石或铁路方式来做到这一点?
感谢您的帮助.
您需要使用延迟作业。看看这个Railscasts。
请记住,大多数房东都会对此类事情收费。
如果您不关心管理线程,您也可以使用spawn插件,但它要容易得多!
这实际上就是您需要做的全部事情:
rails plugin/install https://github.com/tra/spawn.git例如:
spawn do
#execute your code here :)
end
Run Code Online (Sandbox Code Playgroud)
http://railscasts.com/episodes/171-delayed-job