G
Size: a a a
G
AS
G
G
t
t
AS
G
R
NG
spark.streaming.stopGracefullyOnShutdown
, но так понял, это не очень живая вещь. В общем, в поисках best practice =)t
NG
t
NG
AS
import sun.misc.{Signal, SignalHandler}ну и перед обработкой каждого из батчей проверять, не пришло ли время isTimeToStop == true ?
var isTimeToStop = false
// в самом начале регистрируем обработчик
registerSignalHandlers()
def registerSignalHandlers() = {
val signalHandler = new SignalHandler {
override def handle(signal: Signal): Unit = {
log.info(s"Signal ${signal} received.")
isTimeToStop = true
}
Signal.handle(new Signal("TERM"), signalHandler)
}
K
import sun.misc.{Signal, SignalHandler}ну и перед обработкой каждого из батчей проверять, не пришло ли время isTimeToStop == true ?
var isTimeToStop = false
// в самом начале регистрируем обработчик
registerSignalHandlers()
def registerSignalHandlers() = {
val signalHandler = new SignalHandler {
override def handle(signal: Signal): Unit = {
log.info(s"Signal ${signal} received.")
isTimeToStop = true
}
Signal.handle(new Signal("TERM"), signalHandler)
}
VM
K