中使用流API發送推文我正在與Twit一起獲得圍繞Twitter API的很好包裝。我有一個cron來獲取特定hashtag上的所有推文。每當有新的推文時,它就遞增計數器,並在期末將其保存到數據庫(MongoDB)中。唯一的問題是,它總是返回我0.
下面是代碼不要在節點
new cronJob('00 */5 * * * *', function(){ // start parsing 5mn after call, and every 5mn then
var stream = T.stream('statuses/filter', { track: 'hashtag' })
var counter = 0;
var date = new Date();
var collection = client.collection("TweetsNumber");
stream.on('tweet', function (tweet) {
console.log(tweet);
counter += 1;
})
collection.insert({Date: date, CrawledTweets: counter, Channel: "someChannel"});
console.log(counter + " tweets saved in DB");
}, null, true, "Europe/Paris");
根據該文檔中,「stream.on」方法被調用每次有新的鳴叫。我使用一些熱門話題來確保有數據,但它就像從未被調用過,我真的不知道爲什麼。
希望你能幫上忙。祝你有美好的一天 !
編輯:T已經在程序的另一部分創建,並與其他功能,它工作。客戶端,這是我的分貝。
編輯:謝謝Shodan,它現在有效,請參閱github issue。非常感謝 !
我不能找到在這段代碼中有一個問題,你可以嘗試使用'setInterval'替換cron來檢查cronJob是否有問題嗎? – pfried 2013-03-06 08:58:47
我知道它正在工作,我每隔5分鐘就得到最後一個console.log。 – Simon 2013-03-06 09:00:02
是的,我知道,我想保持執行上下文更接近'T'對象,因爲我不知道cronJob的執行上下文很多 – pfried 2013-03-06 09:02:33