GR Board 2 Documents

[기본지식] [FAQ] GR Paper 는 어떤 방식으로 RSS를 수집하나요?

시리니
  • homepage
  • 2008.08.28 00:52:37
  • hit: 4690
  • good: 277
GR Paper 는 RSS 수집을 Ajax 방식으로 처리를 합니다. (즉 비동기 처리입니다.)
또한 사이트의 방문자가 실제로 있을 때에만 RSS 크롤링 작업을 합니다.
바꿔 말하면, 특정 시간 간격에 맞추어서 무조건 크롤링이 되는 게 아니라
실제로 GR Paper 첫화면에 방문객이 있을 경우에만 크롤링 작업을 합니다.
(관리자는 관리자 패널에서 수동으로 직접 수집작업을 하실 수 있습니다.)

순서를 대략적으로 안내하면 아래와 같습니다.
  1. GR Paper 첫화면에 특정 방문객이 접속
  2. GR Paper에서 만들어주는 쿠키를 가지고 있는지 확인 (없으면 생성)
  3. 페이지를 새로고침한 간격이 수집 간격보다 크면 RSS크롤링 작업 요청 보냄 (Ajax)
  4. RSS크롤링 작업 요청이 오게 되면 서버는 등록된 RSS피드들을 순차적으로 수집함
  5. 수집이 끝나면 관리자 패널 로그보기에서 관리자가 확인 가능
RSS를 수집하는 것은 해당 XML페이지를 소켓 통신으로 긁어와서
다시 PHP5부터 내장된 simpleXML 에서 제공되는 XML파서로 문서를 분석하고,
제목이나 내용 등을 가공 처리해서 DB에 저장하는 일련의 과정을 포함합니다.

여기에는 수집 간격을 확인해서 불필요하게 중복 요청을 막는다던지
RSS 피드 하나를 처리하고 잠시 CPU 연산을 쉬게 해주었다가 다시 작업을 하게 해준다던지
하는 일련의 최적화 작업이 포함되어 있습니다.

관리자는 자신이 원하는 때에 직접 수집기를 실행하실 수 있습니다.
관리자 패널을 확인해 보시면 관련된 메뉴가 보이실 겁니다. (4. RSS수집기 / ~~~~~ 패널)

수집간격을 확인해서 너무 자주 실행되지 않도록 GR Paper 가
관리하는 부분이 매우 중시되어 있는데, 수집간격을 되도록 기본값 이상으로 지정해 두시면
GR Paper 가 더 최소한의 서버 자원만 사용해서 RSS수집을 하게 됩니다.


RSS는 2.0 포맷만 수집을 지원합니다. Atom, RSS 1.0 형식은 지원하지 않습니다.
(대부분의 RSS지원 블로그들은 2.0 포맷을 기본으로 지원합니다.)
GR페이퍼,RSS,수집,동작,흐름