2009-06-24 4 views
0

현재 MySQL에 일부 Twitter 데이터를 저장하고 있습니다. 내 호스트는 매시간 cron 작업을 수행 할 수 있으므로 실시간 결과를 세미 시뮬레이트하기 위해 동일한 파일을 6 번 복사하고 매 10 분마다 하나씩 실행합니다 (호스트가 시간 단위 오프셋을 제어 할 수 있음). 이것은 어리 석다, 나는 생각한다.트위터에서 원하는 데이터를 얻는 가장 좋은 방법은 무엇입니까?

내 방식으로 데이터를 푸시 할 수있는 방법을 배울 수 있습니까? 어떤 생각이나 제안이라도 환영합니다.

는 (난 그냥 각 페이지 뷰와 함께 자신의 서버를 쿼리에서 떨어져 자신을 놨습니다, 나는 그 가난한 연습 알고 충분히 알고)

답변

1

어떻게 호스팅 웹 페이지를 (다시 프로그램을 실행되는)에 액세스하는 방법에 대한 클라이언트 측 (홈 시스템)에서 크론에 추가하여 서버에서 :

#!/bin/bash 

for ((i = 0; i < 6; i += 1)); do 
    /usr/bin/curl 'http://yourserver.com/twitter' 
    sleep 600 
done 
0

A : 그렇지 않으면

/usr/bin/curl http://yourserver.com/twitter 

, 다음과 같은 bash는 스크립트를 매 시간마다 실행할 수 있습니다 비교적 간단한 해결책은 다른 컴퓨터에서 cron 작업을 실행하는 것입니다. Twitter에 요청을 한 다음 서버의 지정된 페이지 (예 : http://foo.com/latestTwitterData)로 HTTP POST를 실행합니다. 물론, 당신은 임의의 쓰레기가 당신에게 전송되는 것을 막기 위해 인증을 원할 것입니다.

귀하의 상황에 적합한 지 모르겠습니다.

-1

매 초마다 코드를 실행하기가 쉽습니다.

+0

이 질문에 어떻게 대답합니까? 그는 데몬을 실행할 수 없습니다. 의심의 여지없이, 무한히 실행되는 프로세스는 ISP에 의해 죽을 것입니다. –

+0

질문에 명시된 부분은 어디입니까? –

-1

왜 프로그램을 잠깐 동안 반복하고 잠깐 N 초 동안 잠시 기다려야합니까? 그런 다음 59 분 30 초 후에 사망 할 수 있습니다.

또는 여러 파일의 복사를 최적화하려면 단일 cron 줄 내에서 프로그램에 여러 호출을 추가 할 수 있습니다. 뭔가 같이 :

./prog.pl; sleep 60; ./prog.pl

+0

어떤 프로그램에 들어 있습니까? 그는 서버에서 실행 중이며 cron 작업 만 있거나 요청에 응답 할 수 있습니다. –

+0

어떤 프로그램이 무엇을 의미합니까? curl 호출, 처리, db에 삽입하는 스크립트 또는 프로그램. –

1

당신은 올바로 수행 트위터 데이터가 요청에서 트리거 당겨 수 있습니다. 조금 복잡하지만 기본적으로 테이블에 잠금 데이터를 저장하여 N 분마다 (또는 필요할 때마다) 하나의 요청 만 트위터에서 데이터를 폴링하도록합니다. 예 : 새로운 트위터 데이터가 다른 요청이 이미

  • 테이블을 잠그는 기록을 추가 트위터에 이야기하고 있는지 확인하기 위해
  • 확인 잠금 테이블을 검색 할 필요가있는 경우

    1. 요청 여부를 확인합니다. 데이터베이스 제한 조건을 통해 고유하게 설정된 열에 데이터를 지정하십시오. 이렇게하면 두 개의 잠금 장치가 만들어지지 않습니다.
    2. 트위터와 대화하여 트위터 데이터를 저장하십시오. 속도에 대한
    3. 제거 잠금 기록

    은 보장 잠금 테이블은 메모리에 나 대신 memcached를 사용합니다. 물론 memcached를 사용할 수 있다면 어쨌든 cron을 완벽하게 제어 할 수 있습니다. :)

  • 관련 문제