createSimpleScheduler

fun createSimpleScheduler(incoming: KrontabTemplate): KronScheduler

Parse incoming string and adapt according to next format: "* * * * *" where order of things:

  • seconds

  • minutes

  • hours

  • dayOfMonth

  • month

  • (optional) year

  • (optional) (can be placed anywhere after month) (must be marked with o at the end, for example: 60o == +01:00) offset

  • (optional) (can be placed anywhere after month) dayOfWeek

And each one (except of offsets) have next format:

{number}[,{number},...] or *

and {number} here is one of

  • {int}-{int}

  • {int}/{int}

  • */{int}

  • {int}

  • F

  • L

Week days must be marked with w at the end, and starts with 0 which means Sunday. For example, 0w == Sunday. With weeks you can use syntax like with any number like seconds, for example: 0-2w means Sunday-Tuesday

Additional info about ranges can be found in follow accordance:

  • Seconds ranges can be found in secondsRange

  • Minutes ranges can be found in minutesRange

  • Hours ranges can be found in hoursRange

  • Days of month ranges can be found in dayOfMonthRange

  • Months ranges can be found in monthRange

  • Years ranges can be found in yearRange (in fact - any Int)

  • WeekDay (timezone) ranges can be found in dayOfWeekRange

Examples:

  • "0/5 * * * *" for every five seconds triggering

  • "0/5,L * * * *" for every five seconds triggering and on 59 second

  • "0/15 30 * * *" for every 15th seconds in a half of each hour

  • "1 2 3 F,4,L 5" for triggering in near first second of second minute of third hour of fourth day of may

  • "1 2 3 F,4,L 5 60o" for triggering in near first second of second minute of third hour of fourth day of may with timezone UTC+01:00

  • "1 2 3 F,4,L 5 60o 0-2w" for triggering in near first second of second minute of third hour of fourth day of may in case if it will be in Sunday-Tuesday week days with timezone UTC+01:00

  • "1 2 3 F,4,L 5 2021" for triggering in near first second of second minute of third hour of fourth day of may of 2021st year

  • "1 2 3 F,4,L 5 2021 60o" for triggering in near first second of second minute of third hour of fourth day of may of 2021st year with timezone UTC+01:00

  • "1 2 3 F,4,L 5 2021 60o 0-2w" for triggering in near first second of second minute of third hour of fourth day of may of 2021st year if it will be in Sunday-Tuesday week days with timezone UTC+01:00

Return

In case when offset parameter is absent in incoming will be used createSimpleScheduler method and returned CronDateTimeScheduler. In case when offset parameter there is in incoming will be used createKronSchedulerWithOffset and returned CronDateTimeSchedulerTz

See also

dev.inmo.krontab.internal.createKronScheduler
fun createSimpleScheduler(incoming: KrontabTemplate, defaultOffset: Minutes): KronSchedulerTz