2010-08-31 70 views
3

我是新來的紅寶石在軌道上,我剛開始看軌道演員教程。如何同時獲取多個提要

爲了解析訂閱源,我開始使用訂閱源zirra。

一次擷取多張進紙,feedzirra有這個功能

feed_urls = ["http://feeds.feedburner.com/PaulDixExplainsNothing", 
"http://feeds.feedburner.com/trottercashion"] 
feeds = Feedzirra::Feed.fetch_and_parse(feed_urls) 

如果我有100種飼料,這個過程需要一定的時間來索引100飼料所以,

如何分析獲取所有這些可以說100個併發?

期待您的幫助和支持

回答

6

你可以嘗試爲併發性結合Feedzirra飼料解析和Typhoeus,是這樣的:

#!/usr/bin/env ruby 
require 'rubygems' 
require 'typhoeus' 
require 'feedzirra' 

feed_urls = ["http://feeds.feedburner.com/PaulDixExplainsNothing", "http://feeds.feedburner.com/trottercashion"] 

hydra = Typhoeus::Hydra.new 
feeds = {} 

feed_urls.each do |feed| 
     r = Typhoeus::Request.new(feed) 
     r.on_complete do |response| 
       feeds[r.url] = Feedzirra::Feed.parse(response.body) 
     end 
     hydra.queue r 
end 
hydra.run 
puts feeds.inspect 

的想法是使用九頭蛇被concurent。然後,除了檢查或填充Feed變量之外,您還可以做其他事情。

相關問題