用油滑,你可以做以下從表中產生的結果流:斯卡拉油滑:永無止境的流
val q = for (e <- events) yield e.name
val p: DatabasePublisher[String] = db.stream(q.result)
p.foreach { s => println(s"Event: $s") }
,將打印所有事件在events
表最後一行之後終止。
假設您可以通過某種方式通知events
表中的新行何時輸入,是否可以編寫一個可以連續輸出插入事件的流?數據庫表的一種tail -f
。
我覺得油滑會並不支持這一點,但我想應該是可以使用阿卡流來幫助。所以如果你能從Slick Source獲得一些東西,直到它變空,然後等待一個事件來表示表中更多的數據,然後流式傳輸新的數據。可能通過使用ActorPublisher
來綁定這個邏輯?
只是想知道,如果有人有這方面或任何諮詢的經驗嗎?
這感覺有點像Spark的Dstream:http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.streaming.dstream.DStream –