diff --git a/src/main/java/a8k/app/service/mainctrl/mainflowctrl/MainFlowCtrlScheduler.java b/src/main/java/a8k/app/service/mainctrl/mainflowctrl/MainFlowCtrlScheduler.java index eb2cf1f..0f612c8 100644 --- a/src/main/java/a8k/app/service/mainctrl/mainflowctrl/MainFlowCtrlScheduler.java +++ b/src/main/java/a8k/app/service/mainctrl/mainflowctrl/MainFlowCtrlScheduler.java @@ -282,20 +282,24 @@ public class MainFlowCtrlScheduler implements ApplicationListener onIDLE(); - case WORKING -> onWorking(); - case PAUSE -> onPause(); - } - - onPostProcessing(); - OS.forceSleep(500); + try{ + var state = deviceWorkStateMgrService.getDeviceWorkState(); + if (state.fatalErrorFlag) { + OS.forceSleep(500); + continue; + } + + switch (state.workState) { + case IDLE -> onIDLE(); + case WORKING -> onWorking(); + case PAUSE -> onPause(); + } + + onPostProcessing(); + OS.forceSleep(500); + } catch (Exception e) { + log.error("workFn error {}", e.getMessage(), e); + } } }