I'm new to node.js so please excuse the simple question. I'm writing something standard: a rest API that goes to twitter using ntwitter and saves stuff on mysql. What I'm having trouble is disconnecting and connecting back to twitter using ntwitter.
I checked a somewhat similar question to mine but that one is still unanswered: Restarting nodejs ntwitter twitter stream with different track keywords
The question is two fold:
1) How to check if the twit.stream
is alive
2) How to kill it/manually disconnect from twitter
I'm using destroy
but that does not seem to work. The relevant part of the code is:
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');
}
thanks....
I think you have a setup somewhere in your code like this:
twit.stream('statuses/sample', function(stream) {
stream.on('data', function (data) {
console.log(data);
});
});
Save the stream variable from within the callback, for example after stream.on()
:
twit.currentTwitStream = stream;
This is only a suggestion. Perhaps you have a central configuration object which would be a better place for the current stream object. With currentTwitStream
you can do this:
currentTwitStream.readable
is false after an error or close.currentTwitStream.destroy()
destroys the stream.