2010-02-23 2 views
2

필자는 어떻게 든 RSS 피드를 자동으로 업데이트/구문 분석하고 피드가 업데이트되는 즉시 또는 가능한 한 가깝게 MySQL 데이터베이스에 배치해야합니다. 그러나이 작업을 자동으로 수행하는 최선의 방법을 찾을 수는 없습니다. 사용자가 스크립트를 실행할 때이를 수행하기위한 자습서를 찾았습니다. 그러나이 경우 모두 백그라운드에서 수행해야합니다. cron 작업이 적합할까요?MySQL 데이터베이스의 저장소에 대한 RSS 피드를 자동으로 구문 분석하는 방법은 무엇입니까?

아이디어가 있으십니까? 모든 조언을 주셔서 감사합니다.

답변

0

무언가에 대한 응답으로 만 수행 할 수 있습니다. "cron 작업은"특정 시간대에 대한 응답으로 "의미합니다. 특정 상황에 가장 적합한 이벤트를 결정해야합니다.

RSS 피드의 소스를 제어하지 않는다고 가정하면 cron을 통해 주기적으로 수행하는 것이 좋습니다. "피드가 업데이트 되 자마자 또는 가능한 한 가깝게"실행되도록하려면 매초마다 폴링해야하므로 매우 인기가 없습니다. 피드에 다른 점검 기간을 제공하는 정보가 포함되어 있지 않은 경우 시간별로 확인하십시오.

+0

흠 문제는 높은 강도의 피드입니다. 즉 적어도 3 ~ 4 분마다 업데이트됩니다. 다른 아이디어? – Bronwyn

+0

그런 다음 피드에 더 자주 폴링 할 수 있다는 데이터가 포함되어 있는지 확인하거나 사이트 책임자에게 문의하여 허가를 요청하십시오. – Quentin

+0

그리고 cron 작업을 사용하여 스크립트 실행을합니까? – Bronwyn

0

RSS 피드의 출처를 제어하는 ​​경우 다른 사람 Observer pattern을 살펴보십시오. 그렇지 않으면 소스 피드 PubSubHubbub를 지원하는지 확인 :

간단한 오픈, 서버 - 투 - 서버 웹 후크 기반 pubsub (게시/가입) 프로토콜을 아톰과 RSS 확장으로. PubSubHubbub 프로토콜을 사용하는 당사자 (서버)는 관심있는 주제 (피드 URL)가 업데이트되면 즉시 (웹 훅 콜백을 통해) 알림을받을 수 있습니다.

+0

불행히도 PubSubHubbub 프로토콜을 지원하지 않습니다. 여기서 아이디어가 부족합니다. 어떻게 든 나는 끊임없이 업데이트되는 피드 (긴급 서비스 피드)와 MySQL에서 "캐시"된 정보를 얻을 필요가 있습니다. – Bronwyn

1

Zend_Feed_Reader을 확인해야합니다.
Zend_Feed_Reader는 HTTP 조건부 GET 지원을 제공합니다.
피드가 올바르게 구성된 경우 스크립트가 변경된 경우에만 피드를 다운로드하고 구문 분석하면됩니다.

전체 젠드 프레임 워크가 필요하지 않습니다. Zend_Feed_Reader는 의존성이 거의 없으므로 독립형으로 사용할 수 있습니다.

관련 문제