| | |
| | | if (session == null || !session.isActive() || session.getLastIssuedAt() == null) { |
| | | return false; |
| | | } |
| | | // 分段执行过程中,刚下发下一段命令时,session 的 currentStationId/dispatchStationId |
| | | // 可能还没来得及和当前观察站点完全对齐;只要当前站点仍在这条活动路线里, |
| | | // 就说明这次 recent dispatch 仍然和它相关,idle recover 不应在 10 秒窗口内再次介入。 |
| | | if (!Objects.equals(stationId, session.getCurrentStationId()) |
| | | && !Objects.equals(stationId, session.getDispatchStationId())) { |
| | | && !Objects.equals(stationId, session.getDispatchStationId()) |
| | | && !session.containsStation(stationId)) { |
| | | return false; |
| | | } |
| | | long elapsedMs = System.currentTimeMillis() - session.getLastIssuedAt(); |