mirror of
https://github.com/InsanusMokrassar/krontab.git
synced 2024-11-22 16:23:55 +00:00
fill changelog
This commit is contained in:
parent
365adb1016
commit
bbb4f41723
11
CHANGELOG.md
11
CHANGELOG.md
@ -1,6 +1,6 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## 0.5.0
|
## 0.5.0 Years
|
||||||
|
|
||||||
**BREAKING CHANGES**
|
**BREAKING CHANGES**
|
||||||
|
|
||||||
@ -8,6 +8,15 @@
|
|||||||
* Old methods `merge` and `plus` related to `CronDateTimeScheduler` has been marked as `deprecated` and changed their
|
* Old methods `merge` and `plus` related to `CronDateTimeScheduler` has been marked as `deprecated` and changed their
|
||||||
parameters types - it is `KronScheduler` now
|
parameters types - it is `KronScheduler` now
|
||||||
* New methods `merge` has been added
|
* New methods `merge` has been added
|
||||||
|
* **`KronScheduler#next` method now is nullable. Use `nextOrRelative`/`nextOrNow` to get next time certainly**
|
||||||
|
* **Years was added as optional part of krontab template and opportunity in `SchedulerBuilder`**
|
||||||
|
* New builder `YearsBuilder`
|
||||||
|
* `SchedulerFlow#collectSafely` will be normally (without exceptions) finish when `next` of scheduler will return
|
||||||
|
null
|
||||||
|
* `KronScheduler#doOnce` will run code immediately in case when `next` is returning null value
|
||||||
|
* `KrontabTemplateWrapper` has been added
|
||||||
|
* New extension `KrontabTemplate#toKronScheduler` (works as `toSchedule`)
|
||||||
|
* **Fixed issue related to the fact that `toNearDateTime` of `CronDateTime` incorrectly handled months
|
||||||
|
|
||||||
|
|
||||||
## 0.4.2
|
## 0.4.2
|
||||||
|
@ -21,4 +21,7 @@ interface KronScheduler {
|
|||||||
suspend fun next(relatively: DateTime = DateTime.now()): DateTime?
|
suspend fun next(relatively: DateTime = DateTime.now()): DateTime?
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun KronScheduler.forceNext(relatively: DateTime = DateTime.now()): DateTime = next(relatively) ?: getAnyNext(relatively)
|
suspend fun KronScheduler.nextOrRelative(relatively: DateTime = DateTime.now()): DateTime = next(relatively) ?: getAnyNext(relatively)
|
||||||
|
suspend fun KronScheduler.nextOrNow(): DateTime = DateTime.now().let {
|
||||||
|
next(it) ?: getAnyNext(it)
|
||||||
|
}
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
package dev.inmo.krontab
|
package dev.inmo.krontab
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class contains [template] and can be simply serialized/deserialized. In fact that class will work as
|
||||||
|
* [dev.inmo.krontab.internal.CronDateTimeScheduler] due to the fact that [toKronScheduler] will return it under the
|
||||||
|
* hood
|
||||||
|
*/
|
||||||
data class KrontabTemplateWrapper(
|
data class KrontabTemplateWrapper(
|
||||||
val template: KrontabTemplate
|
val template: KrontabTemplate
|
||||||
) : KronScheduler by template.toKronScheduler()
|
) : KronScheduler by template.toKronScheduler()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will create [KrontabTemplateWrapper] from [this] [KrontabTemplate]
|
||||||
|
*
|
||||||
|
* @see [toKronScheduler]
|
||||||
|
* @see [KrontabTemplateWrapper]
|
||||||
|
*/
|
||||||
|
fun KrontabTemplate.wrapAsKronScheduler() = KrontabTemplateWrapper(this)
|
||||||
|
Loading…
Reference in New Issue
Block a user