1

TableEntries私は RxScala から始めており、テーブル内のいくつかの行に変更があったかどうかを確認するために、データベースを間隔 (たとえば 20 秒) ごとにチェックするポーリング メカニズムを考え出そうとしています。

object MyDatabaseService {

  def getAllEntries: List[MyTableEntries] = ???
}

List[MyTableEntries] を出力する Observable から始める必要があります。そこで、次のことから始めました。

class MyDBObservable(service: MyDatabaseService, observer: Observer[Seq[MyTableEntries]]) extends Observable[Seq[MyTableEntries]] {

  val o = Observable.interval(10.seconds).map { _ => service.getAllTableEntries }
  o.subscribe(observer)
}

関数に渡す Observer には、onNext、onError、および onCompleted が実装されています。ただし、いくつか質問があります。

  1. データベースの応答に 30 秒以上かかるとどうなりますか
  2. データベースが完全にダウンした場合はどうなりますか?

これは私が行った有効なアプローチですか? 提案?

4

1 に答える 1