【发布时间】:2018-06-08 01:55:24
【问题描述】:
目的是从数据库中流式传输数据,对这块数据执行一些计算(此计算返回某个案例类的 Future)并将这些数据作为分块响应发送给用户。目前,我能够在不执行任何计算的情况下流式传输数据并发送响应。但是,我无法执行此计算然后流式传输结果。
这是我实现的路线。
def streamingDB1 =
path("streaming-db1") {
get {
val src = Source.fromPublisher(db.stream(getRds))
complete(src)
}
}
函数 getRds 返回映射到案例类的表的行(使用 slick)。现在考虑将每一行作为输入并返回另一个案例类的 Future 的函数 compute。像
def compute(x: Tweet) : Future[TweetNew] = ?
如何在变量 src 上实现这个函数,并将这个计算的分块响应(作为流)发送给用户。
【问题讨论】:
标签: scala akka slick akka-stream akka-http