2011-07-06 2 views
4

나는 몇백 개의 RSS 피드를 가져 오는 시스템을 가지고 있습니다. 현재 그들은 10 분의 새로 고침주기에 있지만, 나는 그것을 더 빨리하고 싶습니다. 거의 실시간/푸시 간격으로 RSS 소스를 가져 오는 전략은 무엇입니까?거의 실시간 간격으로 RSS 피드 새로 고침

내가 건너 한 일부 솔루션 :

  • 할 1 분에 가져; 변경 사항이 없으면 2, 4, 8 등으로 다시 가져옵니다.
  • RSS 피드의 평균 업데이트 간격/분산을 찾아 버킷에 넣습니다 (이 때마다 3 분마다 업데이트되며, 1 분마다 점검하므로 매주 업데이트되므로 매일 확인해야 함)

답변

0

첫 번째 옵션처럼 사용했습니다. 피드를 검색하기 전에 기본 시간으로 시작하십시오. 새 항목이 발견되면 대기 기간을 10 %로 줄이고 그렇지 않으면 10 %로 늘립니다. 모든 업데이트와 함께이 적응을 수행하면 시스템이 자동으로 조정됩니다.

다른 백분율을 사용할 수 있습니다. 업데이트 빈도가 바뀌면 더 빨리 대응할 수있는 시간이 단축됩니다.

미리 정의 된 범위 내에서 대기하려면 최소 및 최대 시간 간격을 포함하십시오.

완벽하지는 않지만 나를 위해 충분했습니다.

0

해결책의 일부일 뿐이지 만 (HTTP를 통해 피드가 제공되는 경우) 피드를 가져와야하는 빈도에 대한 힌트를 RSS 피드의 Cache-Control 및 Expires 헤더에서 확인하십시오.

+0

아이디어를 얻기 위해 내가 볼 수있는 작동 가능한 예가 있습니까? – CodeCamper

2

"당기는"방법을 신속하고 효율적으로 만들 수있는 방법이 없습니다. 더 자주 폴링하거나 덜 효율적으로 폴링하거나 덜 자주 폴링하여 더 효율적입니다. 실시간 경험 근처에 acheive하는

수있는 유일한 방법은 바로 시간 :

다행히 일부 publihsers (더!)에서 폴링 자신의 피드를 업데이트 할 PubSubHubbub를 사용하고 가입자가 알 수 있도록하는 것입니다. Superfeedr과 같은 다른 서비스 (저는 Superfeedr에서 일합니다)는 다른 기술을 사용하여 피드를 가져올 최적의 시간을 알려줍니다 (이전 업데이트, 관련 피드의 업데이트 등 ...).