Ruby获取RSS提要将无法获得最新的提要

Ruby获取RSS提要将无法获得最新的提要

问题描述:

解析RSS提要时出现问题。 当我这样做:Ruby获取RSS提要将无法获得最新的提要

feed = getFeed("http://example.com/rss) 

如果饲料含量的变化是不更新。

如果我不喜欢这样写道:

feed = getFeed("http://example.com/rss?" + Random.rand(20).to_s) 

它工作的大部分时间,但并非总是如此。

getFeed()实现这样的:

def getFeed(url) 
    rss_content = "" 
    open(url) do |f| 
     rss_content = f.read 
    end 
    return rss_content 
end 

我用这个在西纳特拉和Ruby 1.9.3,如果有所作为。 在我看来它被缓存的地方,但我不知道在哪里。

编辑: Okey在服务器上运行1/2天后出现问题。

+0

此之前的讨论可能会有所帮助:http://*.com/questions/6389255/rss-feed-how-to -recommend-an-update-interval – fmendez 2013-02-23 16:28:14

+0

不确定,因为这意味着open()检查这个,我不这么认为 – 2013-02-23 16:32:40

此:

feed = getFeed("http://example.com/rss?" + Random.rand(20).to_s) 

意味着问题是缓存,但红宝石,OpenURI和西纳特拉不应该是什么缓存。也许你的代码运行在缓存设备或应用程序后面,它处理传出请求以及传入?

这不是修复,但你的代码可以大大精简:

def getFeed(url) 
    open(url).read 
end