Время выхода из состояний в mapWithState
Я хотел написать функцию в mapwithstate, у которой включен тайм-аут...
def trackStateFunc(batchTime: Time,
key: String, value: Option[Int],
state: State[Long]): Option[(String, Long)] = {
if (state.isTimingOut()) {
//write state to database
return None
} else if (state.exists) {
var c = state.get()
if (value.getOrElse(null) != null) {
//update c
c = c + value
state.update(c)
}
Some(key,c)
} else {
Some(key,value.getOrElse(0).toLong)
}
}
Я хотел знать, если время ожидания истекло, то оно, вероятно, не завершится, мой код выше не выдает никаких исключений.
В каком случае значение Option[int]
не существует.. если оно истекло?
1 ответ
В каком случае значение
Option[int]
не существует.. если оно истекло?
Да, value
параметр mapWithState
было бы None
однажды State[S]
истекает время. Когда это произойдет, state.isTimingOut()
также будет установлен в true
,
Я написал по этому вопросу именно то, если вы заинтересованы в большем количестве характеристик mapWithState
,