mirror of
https://github.com/InsanusMokrassar/krontab.git
synced 2025-12-10 06:55:53 +00:00
fixes in built-in schedulers
This commit is contained in:
@@ -34,35 +34,60 @@ val EverySecondScheduler: KronScheduler by lazy {
|
||||
* [KronScheduler.next] will always return [korlibs.time.DateTime.now] + one minute
|
||||
*/
|
||||
val EveryMinuteScheduler: KronScheduler by lazy {
|
||||
buildSchedule { minutes { 0 every 1 } }
|
||||
buildSchedule {
|
||||
seconds { at(0) }
|
||||
minutes { 0 every 1 }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* [KronScheduler.next] will always return [korlibs.time.DateTime.now] + one hour
|
||||
*/
|
||||
val EveryHourScheduler: KronScheduler by lazy {
|
||||
buildSchedule { hours { 0 every 1 } }
|
||||
buildSchedule {
|
||||
seconds { at(0) }
|
||||
minutes { at(0) }
|
||||
hours { 0 every 1 }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* [KronScheduler.next] will always return [korlibs.time.DateTime.now] + one day
|
||||
*/
|
||||
val EveryDayOfMonthScheduler: KronScheduler by lazy {
|
||||
buildSchedule { dayOfMonth { 0 every 1 } }
|
||||
buildSchedule {
|
||||
seconds { at(0) }
|
||||
minutes { at(0) }
|
||||
hours { at(0) }
|
||||
dayOfMonth { 0 every 1 }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* [KronScheduler.next] will always return [korlibs.time.DateTime.now] + one month
|
||||
*/
|
||||
val EveryMonthScheduler: KronScheduler by lazy {
|
||||
buildSchedule { months { 0 every 1 } }
|
||||
buildSchedule {
|
||||
seconds { at(0) }
|
||||
minutes { at(0) }
|
||||
hours { at(0) }
|
||||
dayOfMonth { at(0) }
|
||||
months { 0 every 1 }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* [KronScheduler.next] will always return [korlibs.time.DateTime.now] + one year
|
||||
*/
|
||||
val EveryYearScheduler: KronScheduler by lazy {
|
||||
buildSchedule { years { 0 every 1 } }
|
||||
buildSchedule {
|
||||
seconds { at(0) }
|
||||
minutes { at(0) }
|
||||
hours { at(0) }
|
||||
dayOfMonth { at(0) }
|
||||
months { at(0) }
|
||||
years { 0 every 1 }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -182,15 +182,24 @@ class SchedulerBuilder(
|
||||
*/
|
||||
fun build(): KronScheduler = offset ?.let {
|
||||
createKronSchedulerWithOffset(
|
||||
seconds,
|
||||
minutes,
|
||||
hours,
|
||||
dayOfMonth,
|
||||
month,
|
||||
year,
|
||||
dayOfWeek,
|
||||
TimezoneOffset(it.minutes),
|
||||
milliseconds ?: millisecondsArrayDefault
|
||||
seconds = seconds,
|
||||
minutes = minutes,
|
||||
hours = hours,
|
||||
dayOfMonth = dayOfMonth,
|
||||
month = month,
|
||||
years = year,
|
||||
weekDays = dayOfWeek,
|
||||
offset = TimezoneOffset(it.minutes),
|
||||
milliseconds = milliseconds ?: millisecondsArrayDefault
|
||||
)
|
||||
} ?: createKronScheduler(seconds, minutes, hours, dayOfMonth, month, year, dayOfWeek, milliseconds ?: millisecondsArrayDefault)
|
||||
} ?: createKronScheduler(
|
||||
seconds = seconds,
|
||||
minutes = minutes,
|
||||
hours = hours,
|
||||
dayOfMonth = dayOfMonth,
|
||||
month = month,
|
||||
years = year,
|
||||
weekDays = dayOfWeek,
|
||||
milliseconds = milliseconds ?: millisecondsArrayDefault
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user