diff --git a/src/main/java/altk/comm/engine/Broadcast.java b/src/main/java/altk/comm/engine/Broadcast.java index 1aa41b9..dcc9220 100644 --- a/src/main/java/altk/comm/engine/Broadcast.java +++ b/src/main/java/altk/comm/engine/Broadcast.java @@ -1021,6 +1021,7 @@ public abstract class Broadcast protected String resume(String reason) { if (reason == ACTION_BY_CLOCK) { boolean inAcceptqble = false; + if (this.reason == null) return null; for (String acceptable : getPauseModesResumableByClock()) { if (this.reason.equalsIgnoreCase(acceptable)) inAcceptqble = true; } @@ -1437,6 +1438,8 @@ public abstract class Broadcast if (state == BroadcastState.ABORTED) return; if (!withinOperatingHours()) { pause(ACTION_BY_CLOCK, null); + } else { + resume(ACTION_BY_CLOCK, null); } } diff --git a/src/main/java/altk/comm/engine/CommEngine.java b/src/main/java/altk/comm/engine/CommEngine.java index f8e4d02..c53770d 100644 --- a/src/main/java/altk/comm/engine/CommEngine.java +++ b/src/main/java/altk/comm/engine/CommEngine.java @@ -95,25 +95,15 @@ public abstract class CommEngine extends HttpServlet { while (!threadShouldStop) { - String timeOfDay = LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm")); // Check for pause for (Broadcast broadcast : broadcasts.values()) - {; - // Check for pause - if (broadcast.daily_stop.length() > 0) - { - if (timeOfDay.equals(broadcast.daily_stop)) broadcast.pause("clock", null); - } - - // Check for resume - if (broadcast.daily_start.length() > 0) - { - if (timeOfDay.equals(broadcast.daily_start)) broadcast.resume(Broadcast.ACTION_BY_CLOCK); - } + { + broadcast.enforceOperationHours(); } + // sleep till next wall clock minute long currentTime = System.currentTimeMillis(); - long sleepTime = 60000 + 30000 - currentTime % 60000; + long sleepTime = 60000 - currentTime % 60000; if (sleepTime > 0) { try