diff --git a/images/arrow_down.svg b/images/arrow_down.svg index 89e7df4..c0388de 100644 --- a/images/arrow_down.svg +++ b/images/arrow_down.svg @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/images/docs_logo.svg b/images/docs_logo.svg deleted file mode 100644 index 7c1e3ae..0000000 --- a/images/docs_logo.svg +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/images/logo-icon.svg b/images/logo-icon.svg index 1b3b367..1fea087 100644 --- a/images/logo-icon.svg +++ b/images/logo-icon.svg @@ -1,3 +1,10 @@ - + \ No newline at end of file diff --git a/images/theme-toggle.svg b/images/theme-toggle.svg new file mode 100644 index 0000000..2a8d750 --- /dev/null +++ b/images/theme-toggle.svg @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/index.html b/index.html index ba47ce0..f07f6b9 100644 --- a/index.html +++ b/index.html @@ -2,25 +2,30 @@
Completely built and independent KronScheduler
Completely built and independent KronScheduler
Starts an days of month block
Starts an days of month block
Starts an hours block
Starts an hours block
Starts an hours block
Starts an hours block
Starts an minutes block
Starts an minutes block
Starts an months block
Starts an months block
Starts an seconds block
Starts an seconds block
Starts an year block
Starts an year block
Will create an sequence of times starting fromevery times. For example, for SecondsBuilder it will mean "from second second every 5 seconds", or "2, 7, 13, ..."
Will create an sequence of times starting fromevery times. For example, for SecondsBuilder it will mean "from second second every 5 seconds", or "2, 7, 13, ..."
Just wrapper for more obvious writing something like "from 2 every 5". For example, for SecondsBuilder it will mean "from second second every 5 seconds", or "2, 7, 13, ..."
Will include the first possible value
Will include the first possible value
Will include the last possible value
Will include the last possible value
Will include all variations from this array inside of this timeline
This class was created for incapsulation of builder work with specified restrictionsRange. For example, include function of TimeBuilder will always coerceIn incoming data using its restrictionsRange
This class was created for incapsulation of builder work with specified restrictionsRange. For example, include function of TimeBuilder will always coerceIn incoming data using its restrictionsRange
The last possible value of builder. Using of this variable equal to using "L" in strings
Will help to create an instance of KronScheduler
Will help to create an instance of KronScheduler
Add kronScheduler into its schedulers list
When kronScheduler is CronDateTimeScheduler it will merge all CronDateTimeSchedulers from schedulers list and this kronScheduler using mergeCronDateTimeSchedulers function
When kronScheduler is CollectionKronScheduler it this instance will include all kronScheduler
Otherwise kronScheduler will be added to schedulers list
Add kronScheduler into its schedulers list
When kronScheduler is CronDateTimeScheduler it will merge all CronDateTimeSchedulers from schedulers list and this kronScheduler using mergeCronDateTimeSchedulers function
When kronScheduler is CollectionKronScheduler it this instance will include all kronScheduler
Otherwise kronScheduler will be added to schedulers list
This scheduler will be useful in case you want to unite several different KronSchedulers
This scheduler will be useful in case you want to unite several different KronSchedulers
Next DateTime when some action must be triggered according to settings of this instance
Next DateTime when some action must be triggered according to settings of this instance
pair of near DateTime for this checker and Boolean flag that all previous calculations must be recalculated
pair of near DateTime for this checker and Boolean flag that all previous calculations must be recalculated
KronScheduler.next will always return com.soywiz.klock.DateTime.now
KronScheduler.next will always return com.soywiz.klock.DateTime.now
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one day
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one day
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one hour
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one hour
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one minute
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one minute
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one month
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one month
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one second
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one second
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one year
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one year
This interface extending KronScheduler to use DateTimeTz with taking into account offset of incoming time for next operation.
This interface extending KronScheduler to use DateTimeTz with taking into account offset of incoming time for next operation.
Next DateTime when some action must be triggered according to settings of this instance
Next DateTime when some action must be triggered according to settings of this instance
Use this class as a super class in case you wish to implement krontab-based enqueuing of works
Use this class as a super class in case you wish to implement krontab-based enqueuing of works
This interface was created for abstraction of next operation. Currently, there is only dev.inmo.krontab.internal.CronDateTimeScheduler realisation of this interface inside of this library, but you it is possible to create your own realisation of this interface for scheduling, for example, depending of users activity or something like this
This interface was created for abstraction of next operation. Currently, there is only dev.inmo.krontab.internal.CronDateTimeScheduler realisation of this interface inside of this library, but you it is possible to create your own realisation of this interface for scheduling, for example, depending of users activity or something like this
Next DateTime when some action must be triggered according to settings of this instance
Next DateTime when some action must be triggered according to settings of this instance
Extend this class in case you wish to base on KrontabTemplate. It will automatically handle request of kronScheduler and put it in setUpRequest
Extend this class in case you wish to base on KrontabTemplate. It will automatically handle request of kronScheduler and put it in setUpRequest
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
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
Shortcut for createSimpleScheduler
Shortcut for createSimpleScheduler
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
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
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
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
Will execute block without any checking of result
Will buildSchedule using scheduleConfig and call doInfinity with block
Will execute block without any checking of result
Will buildSchedule using scheduleConfig and call doInfinity with block
Will execute block without any checking of result
Will buildSchedule using scheduleConfig and call doInfinity with block
Will execute block without any checking of result
Will buildSchedule using scheduleConfig and call doInfinity with block
Will execute block without any checking of result
Will buildSchedule using scheduleConfig and call doInfinity with block
Will execute block without any checking of result
Will buildSchedule using scheduleConfig and call doInfinity with block
Execute block once at the KronScheduler.next time and return result of block calculation.
WARNING!!! If you want to launch it in parallel, you must do this explicitly.
WARNING!!! In case if KronScheduler.next of this instance will return null, block will be called immediately
Execute block once at the KronScheduler.next time and return result of block calculation.
WARNING!!! If you want to launch it in parallel, you must do this explicitly.
WARNING!!! In case if KronScheduler.next of this instance will return null, block will be called immediately
Execute block once at the KronScheduler.next time and return result of block calculation.
WARNING!!! If you want to launch it in parallel, you must do this explicitly.
WARNING!!! In case if KronScheduler.next of this instance will return null, block will be called immediatelly
Execute block once at the KronScheduler.next time and return result of block calculation.
WARNING!!! If you want to launch it in parallel, you must do this explicitly.
WARNING!!! In case if KronScheduler.next of this instance will return null, block will be called immediatelly
Will buildSchedule using scheduleConfig and call doOnceLocal on it
Execute block once at the KronScheduler.next time and return result of block calculation.
WARNING!!! If you want to launch it in parallel, you must do this explicitly.
WARNING!!! In case if KronScheduler.next of this instance will return null, block will be called immediately
Execute block once at the KronScheduler.next time and return result of block calculation.
WARNING!!! If you want to launch it in parallel, you must do this explicitly.
WARNING!!! In case if KronScheduler.next of this instance will return null, block will be called immediately
Will buildSchedule using scheduleConfig and call doOnceLocal on it
Will execute block while it will return true as a result of its calculation
Will buildSchedule using scheduleConfig and call doWhile with block
Will execute block while it will return true as a result of its calculation
Will buildSchedule using scheduleConfig and call doWhile with block
Will execute block while it will return true as a result of its calculation
Will execute block while it will return true as a result of its calculation
Will buildSchedule using scheduleConfig and call doWhile with block
Will execute block while it will return true as a result of its calculation
Will execute block while it will return true as a result of its calculation
Will buildSchedule using scheduleConfig and call doWhile with block
This method will enqueue OneTimeWorkRequest with workName and existingWorkPolicy. Use setUpRequest callback in case you need some additional actions to do before request will be enqueued
This method is shortcut for enqueueKronSchedulerWork with reified T parameter
This method is shortcut for enqueueKronSchedulerWork with initialScheduler. It will try to calculate delay by itself. In case if KronScheduler.next of initialScheduler will return null, work WILL NOT be enqueued
null in case if KronScheduler.next of initialScheduler has returned null and work has not been enqueued
This method is shortcut for enqueueKronSchedulerWork with reified T
This method will enqueue OneTimeWorkRequest with workName and existingWorkPolicy. Use setUpRequest callback in case you need some additional actions to do before request will be enqueued
This method is shortcut for enqueueKronSchedulerWork with reified T parameter
This method is shortcut for enqueueKronSchedulerWork with initialScheduler. It will try to calculate delay by itself. In case if KronScheduler.next of initialScheduler will return null, work WILL NOT be enqueued
null in case if KronScheduler.next of initialScheduler has returned null and work has not been enqueued
This method is shortcut for enqueueKronSchedulerWork with reified T
Will enqueueKronSchedulerWork with KronScheduler from krontabTemplate and call setUpRequest on setting up OneTimeWorkRequest.Builder with Data which will be used to OneTimeWorkRequest.Builder.setInputData after setUpRequest completed
Will enqueueKronSchedulerWork with KronScheduler from krontabTemplate and call setUpRequest on setting up OneTimeWorkRequest.Builder with Data which will be used to OneTimeWorkRequest.Builder.setInputData after setUpRequest completed
KronScheduler.next will always return com.soywiz.klock.DateTime.now
KronScheduler.next will always return com.soywiz.klock.DateTime.now
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one day
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one day
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one hour
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one hour
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one minute
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one minute
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one month
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one month
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one second
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one second
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one year
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one year
Vararg shortcut for merge
Create new one CollectionKronScheduler to include all KronSchedulers of this
Vararg shortcut for merge
Shortcut for buildSchedule
Shortcut for buildSchedule
Will create KrontabTemplateWrapper from this