crontab: simplify common code paths in (next-time-after).
parent
ea83c1c1ee
commit
3afc3447b4
|
@ -56,25 +56,20 @@ CONSTANT: aliases H{
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
:: (next-time-after) ( cronentry timestamp -- )
|
:: (next-time-after) ( cronentry timestamp -- )
|
||||||
|
|
||||||
timestamp month>> :> month
|
timestamp month>> :> month
|
||||||
cronentry months>> [ month >= ] find nip [
|
cronentry months>> [ month >= ] find nip
|
||||||
dup month = [ drop f ] [
|
dup month = [ drop f ] [
|
||||||
|
[ cronentry months>> first timestamp 1 +year drop ] unless*
|
||||||
timestamp 1 >>day 0 >>hour 0 >>minute month<< t
|
timestamp 1 >>day 0 >>hour 0 >>minute month<< t
|
||||||
] if
|
] if [ cronentry timestamp (next-time-after) ] when
|
||||||
] [
|
|
||||||
timestamp 1 >>day 0 >>hour 0 >>minute
|
|
||||||
cronentry months>> first >>month 1 +year
|
|
||||||
] if* [ cronentry timestamp (next-time-after) ] when
|
|
||||||
|
|
||||||
timestamp day>> :> day
|
timestamp day>> :> day
|
||||||
cronentry days>> [ day >= ] find nip [
|
cronentry days>> [ day >= ] find nip
|
||||||
dup day = [ drop f ] [
|
dup day = [ drop f ] [
|
||||||
|
[ cronentry days>> first timestamp 1 +month drop ] unless*
|
||||||
timestamp 0 >>hour 0 >>minute day<< t
|
timestamp 0 >>hour 0 >>minute day<< t
|
||||||
] if
|
] if [ cronentry timestamp (next-time-after) ] when
|
||||||
] [
|
|
||||||
timestamp 0 >>hour 0 >>minute
|
|
||||||
cronentry days>> first >>day 1 +month
|
|
||||||
] if* [ cronentry timestamp (next-time-after) ] when
|
|
||||||
|
|
||||||
timestamp day-of-week :> weekday
|
timestamp day-of-week :> weekday
|
||||||
cronentry days-of-week>> [ weekday >= ] find nip [
|
cronentry days-of-week>> [ weekday >= ] find nip [
|
||||||
|
@ -85,21 +80,18 @@ CONSTANT: aliases H{
|
||||||
] unless-zero
|
] unless-zero
|
||||||
|
|
||||||
timestamp hour>> :> hour
|
timestamp hour>> :> hour
|
||||||
cronentry hours>> [ hour >= ] find nip [
|
cronentry hours>> [ hour >= ] find nip
|
||||||
dup hour = [ drop f ] [
|
dup hour = [ drop f ] [
|
||||||
|
[ cronentry hours>> first timestamp 1 +day drop ] unless*
|
||||||
timestamp 0 >>minute hour<< t
|
timestamp 0 >>minute hour<< t
|
||||||
] if
|
] if [ cronentry timestamp (next-time-after) ] when
|
||||||
] [
|
|
||||||
timestamp 0 >>minute
|
|
||||||
cronentry hours>> first >>hour 1 +day
|
|
||||||
] if* [ cronentry timestamp (next-time-after) ] when
|
|
||||||
|
|
||||||
timestamp minute>> :> minute
|
timestamp minute>> :> minute
|
||||||
cronentry minutes>> [ minute >= ] find nip [
|
cronentry minutes>> [ minute >= ] find nip
|
||||||
dup minute = [ drop f ] [ timestamp minute<< t ] if
|
dup minute = [ drop f ] [
|
||||||
] [
|
[ cronentry minutes>> first timestamp 1 +hour drop ] unless*
|
||||||
timestamp cronentry minutes>> first >>minute 1 +hour
|
timestamp minute<< t
|
||||||
] if* [ cronentry timestamp (next-time-after) ] when ;
|
] if [ cronentry timestamp (next-time-after) ] when ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue