Scala 为这个用例播放Iteratee
我正在学习Iteratee和相关API,以满足我对实时推特流的一个需求。使用Play 2.1和Scala 2.10。下面是使用Iteratee的最佳方法吗?Iteratee也会产生将tweet保存到MongoDB的结果Scala 为这个用例播放Iteratee,scala,playframework,playframework-2.1,Scala,Playframework,Playframework 2.1,我正在学习Iteratee和相关API,以满足我对实时推特流的一个需求。使用Play 2.1和Scala 2.10。下面是使用Iteratee的最佳方法吗?Iteratee也会产生将tweet保存到MongoDB的结果 val wsStream = new Enumerator[Array[Byte]] { def apply[A](iteratee: Iteratee[Array[Byte], A]) = { WS.url("https://stream.twitter.com/1
val wsStream = new Enumerator[Array[Byte]] {
def apply[A](iteratee: Iteratee[Array[Byte], A]) = {
WS.url("https://stream.twitter.com/1.1/statuses/filter.json?track=" + term)
.sign(OAuthCalculator(Twitter.KEY, tokens))
.get(_ => iteratee)
}
}
wsStream.apply(Iteratee.foreach(bytes => saveTweetToMongo(bytes)))
注意,您可以将多个迭代器应用于同一个枚举数。为了对单词进行排序,您可以创建一个
StreamingWeetiteRate
和一个saveTweetToMongoIteratee
,并将两者应用于提供推文的枚举器
我经常创建一个简单的loggingIteratee
,当我在REPL中进行原型设计时,它会将所有内容导入到STDOUT。我将它和我正在编写的迭代对象应用于同一个枚举器
我假设您想使用WebSocket将推文流式传输到客户端?如果你看了Play附带的聊天演示!你会知道怎么做的