2011-07-06 16 views
4

私は数百のRSSフィードを取得するシステムを持っています。現在、彼らは10分のリフレッシュサイクルに入っていますが、私はそれをより速くしたいと思っています。ほぼリアルタイム/プッシュ間隔でRSSソースを取得するための戦略は何ですか?ほぼリアルタイムでRSSフィードをリフレッシュ

私が遭遇してきたいくつかの解決策:

  • は1分でフェッチありません。変更がなければ、2、4、8などで再度フェッチしてください。
  • RSSフィードの平均更新間隔間隔/バラツキを見つけてバケットに入れます(これは3分ごとに更新され、

答えて

0

私は最初のオプションのようなものを使用しました。フィードを取得する前にデフォルトの時間から始めます。新しいアイテムが見つかった場合は、待機時間を10%に減らし、それ以外の場合は10%に増加します。この更新はすべてのアップデートで実行し、システムはそれ自体を調整します。

さまざまなパーセンテージを使用できます(例:更新頻度の変更に迅速に対応することができます。

事前定義された範囲内で待機するための最小および最大時間を含めます。

これは完璧ではありませんが、私にとっては十分でした。

0

解決策の一部に過ぎませんが、(HTTP経由でフィードが配信されている場合は) RSSフィードのCache-ControlヘッダーとExpiresヘッダーで、フィードの取得頻度に関するヒントを確認してください。

+0

アイデアを得るために見ることができるこの例の実例がありますか。 – CodeCamper

2

「プーリング」を迅速かつ効率的に行う方法はありません。より頻繁にポーリングする(効率が悪くなる)か、ポーリング頻度を減らして効率を上げます。

リアルタイムでの経験の近くに​​acheiveする唯一の方法は、適切なタイミングで:)

幸運にもいくつかのpublihsersポーリングすることである(より多くを!)自分のフィードを更新し、加入者が知っているようにPubSubHubbubをを使用しています。 Superfeedrのような他のサービス(私はSuperfeedrのために働いています)は、さまざまなテクニックを使って、いつフィードを取得するのが最適な時期なのかを知ることができます。

関連する問題