Время выхода из состояний в 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,

Другие вопросы по тегам