2012-09-28 3 views
4

나는 node.js를 처음 사용하므로 간단한 질문에 답해주십시오. 뭔가 표준을 쓰고 있어요 : 나머지 API는 ntwitter를 사용하여 트위터로 이동하고 mysql에 물건을 저장합니다. 내가 문제가되는 것은 ntwitter를 사용하여 트위터에 연결을 끊고 다시 연결하는 것입니다. ntwitter를 사용하여 트위터 스트림을 중지하고 다시 시작하는 방법

나는 내에 다소 비슷한 질문을 확인하지만 사람은 여전히 ​​답이있다 : Restarting nodejs ntwitter twitter stream with different track keywords

질문입니다 두 배 :

1) 어떻게 twit.stream이 살아 있는지 확인하는 방법
2) 그것을 죽일/트위터에서 수동으로 분리

나는 destroy을 사용하고 있지만 작동하지 않는 것 같습니다. 코드의 관련 부분은 다음과 같습니다

twit.stream('statuses/sample', function(stream) { 
    stream.on('data', function (data) { 
    console.log(data); 
    }); 
}); 

저장 스트림 변수 내에서 : 감사

if (values[0] == 'newStatusAdded') { 
    console.log('Need to stop twitter listener'); 
    //check if twitter stream is running 
    if (twit.stream) { 
    twit.stream.destroy; 
    debugger; 
    console.log('Stopped twitter listener'); 
    } 

....

답변

4

난 당신과 같은 코드에서 어딘가에 설정을 가지고 생각 stream.on() 후 예를 들어 콜백 :

twit.currentTwitStream = stream; 

이것은 단지 제안입니다. 아마도 당신은 현재의 스트림 객체를위한 더 나은 장소가 될 중앙 구성 객체를 가지고있을 것입니다. currentTwitStream으로 당신은 이것을 할 수 있습니다 :

  1. currentTwitStream.readable 오류 또는 클로즈 뒤에 오류가 있습니다.
  2. currentTwitStream.destroy()은 스트림을 파괴합니다.
+0

감사합니다.이 기능은 다음과 같은 매력을 지녔습니다. – icaro

+0

이전 게시물을 알고 있지만 스트림을 파괴하는 방법에 대한 명확한 예를 제공 할 수 있습니까? – FiringSquadWitness

+0

미안하지만, 신중하게 시험 할 시간이 없기 때문에, 아닙니다. – nalply

1

나는이 문제에도 직면했다. 결국 나를 위해 일한 것은 stream.stop()입니다.

.destroy()

, .disconnect() 등은 정의되지

.destroy 같은 다양한 오류를 가져왔다.

관련 문제