中使用流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