Browse Source

Prevent repeated task execution when execution time less than 1 sec

master
Alexander Kytmanov 8 years ago
parent
commit
fb2f79fd5a
  1. 2
      src/main/java/org/telegram/services/TimerExecutor.java

2
src/main/java/org/telegram/services/TimerExecutor.java

@ -83,7 +83,7 @@ public class TimerExecutor {
private long computNextDilay(int targetHour, int targetMin, int targetSec) { private long computNextDilay(int targetHour, int targetMin, int targetSec) {
final LocalDateTime localNow = LocalDateTime.now(Clock.systemUTC()); final LocalDateTime localNow = LocalDateTime.now(Clock.systemUTC());
LocalDateTime localNextTarget = localNow.withHour(targetHour).withMinute(targetMin).withSecond(targetSec); LocalDateTime localNextTarget = localNow.withHour(targetHour).withMinute(targetMin).withSecond(targetSec);
while (localNow.compareTo(localNextTarget) > 0) { while (localNow.compareTo(localNextTarget.minusSeconds(1)) > 0) {
localNextTarget = localNextTarget.plusDays(1); localNextTarget = localNextTarget.plusDays(1);
} }

Loading…
Cancel
Save