Slick を使用すると、テーブルから結果のストリームを生成するために次のことができます。
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
DB テーブルの一種。
Slick はこれをネイティブにサポートしないと思いますが、Akka ストリーミングを使用して支援できるはずです。したがって、空になるまで Slick Source から何かを取得し、イベントがテーブル内の追加データを示すのを待ってから、新しいデータをストリーミングすることができた場合。おそらく、を使用しActorPublisher
てこのロジックをバインドしますか?
誰かがこの分野での経験やアドバイスを持っているかどうか疑問に思っていますか?