以近实时间隔刷新RSS源

时间:2011-07-06 16:47:41

标签: rss feeds

我有一个系统可以获取几百个RSS源。目前他们正处于10分钟的刷新周期,但我最好还是希望更快。什么是以近实时/推送间隔获取RSS源的策略?

我遇到的一些解决方案:

  • 1分钟取一个;如果没有变化,则再次获取2,然后是4,然后是8,等等。
  • 找到RSS提要的平均更新时间间隔/方差,并将它们放入一个桶中(每隔3分钟更新一次,因此每1分钟检查一次;每周更新一次,所以每天检查等。)

3 个答案:

答案 0 :(得分:2)

没有办法制造"拉动"快速高效。您可以更频繁地进行轮询(并且效率较低),或者通过较少的轮询来提高效率。

实现接近实时体验的唯一方法是在合适的时间进行投票:)

幸运的是,一些发布者(越来越多!)使用PubSubHubbub来更新他们的供稿并让订阅者知道。其他服务如Superfeedr(我为Superfeedr工作)使用不同的技术来了解何时是获取Feed的最佳时间(基于历史更新,相关Feed中的更新等)。

答案 1 :(得分:0)

虽然它只是解决方案的一部分,但您也可以(如果通过HTTP提供Feed)检查RSS提要的Cache-Control和Expires标头,以获取有关提取Feed的频率的提示。

答案 2 :(得分:0)

我使用了像你这样的第一选择。在检索Feed之前以默认时间开始。如果发现新项目,则等待期间减少10%,否则增加10%。每次更新都要执行此调整,系统会自行调整。

您可以使用不同的百分比,例如减少更快地响应更新频率变化的时间。

包括最小和最大时间跨度,以便在预定范围内等待。

这不完美,但对我来说还不错。