in src/main/java/com/ericsson/gerrit/plugins/gcconductor/executor/ExecutorConfig.java [124:150]
long initialDelay(String start, ZonedDateTime now, long interval) {
if (start == null) {
return DEFAULT_INITIAL_DELAY;
}
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("[E ]HH:mm").withLocale(Locale.US);
LocalTime firstStartTime = LocalTime.parse(start, formatter);
ZonedDateTime startTime = now.with(firstStartTime);
Optional<DayOfWeek> dayOfWeek = getDayOfWeek(start, formatter);
if (dayOfWeek.isPresent()) {
startTime = startTime.with(dayOfWeek.get());
}
startTime = startTime.truncatedTo(ChronoUnit.MINUTES);
long firstDelay = Duration.between(now, startTime).toMillis() % interval;
if (firstDelay <= 0) {
firstDelay += interval;
}
return firstDelay;
} catch (DateTimeParseException e) {
log.debug(
"Invalid value {} for {} setting. Periodic evaluation disabled",
start,
START_TIME_KEY,
e);
return DEFAULT_INITIAL_DELAY;
}
}