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)
}
在我传递给函数的观察者中,我实现了 onNext、onError 和 onCompleted!但是有几个问题:
- 如果我的数据库响应时间超过 30 秒会发生什么
- 如果我的数据库完全关闭会怎样?
这是我所做的有效方法吗?建议?