2011-07-06 63 views
4

我有一個系統可以提取幾百個RSS提要。目前他們正在進行10分鐘的更新週期,但我希望能夠更快地完成。什麼是以近實時/推送間隔獲取RSS源的策略?以近實時間隔刷新RSS提要

一些解決方案,我遇到:

  • 做取1分鐘;如果沒有變化,請在2,然後4,然後8等處再次獲取
  • 找到RSS提要的平均更新時間間隔/方差,並將它們放在存儲桶中(每隔3分鐘更新一次,所以每1分鐘進行一次檢查;每隔一週更新一次,所以每天檢查一次等等)

回答

0

我已經使用了類似於你的第一個選項。從檢索Feed之前的默認時間開始。如果發現新項目,等待時間縮短10%,否則增加10%。在每次更新時執行此調整並且系統自行調整。

您可以使用不同的百分比,例如:減少更快的響應時間以更好地響應更新頻率中的變化。

包含一個最小和最大時間範圍,以保持在預定範圍內等待。

這不是完美的,但對我來說足夠好。

0

儘管它只是解決方案的一部分,但您也可以(如果通過HTTP提供訂閱源)請檢查RSS提要的Cache-Control和Expires標題,以提示您應該多長時間提取一次提要。

+0

有沒有一個工作的例子,這個地方我可以看到有一個想法。 – CodeCamper

2

有沒有辦法使「拉」快速和有效。您將更頻繁地進行調查(效率更低),或者更頻繁地進行投票來提高效率。

到acheive近乎實時體驗的唯一方式是在正確的時間:)

幸運的是,一些publihsers(更多!)輪詢使用PubSubHubbub通訊來更新他們的飼料,讓用戶知道。其他服務如Superfeedr(我爲Superfeedr工作)使用不同的技術來了解何時是獲取饋送的最佳時間(基於歷史更新,相關饋送更新等)。