feat: added cli command for previewing cron schedules
parent
c0b739035b
commit
bd4bb9a9fb
|
@ -0,0 +1,34 @@
|
||||||
|
module schedule
|
||||||
|
|
||||||
|
import cli
|
||||||
|
import cron.expression { parse_expression }
|
||||||
|
|
||||||
|
// cmd returns the cli submodule for previewing a cron schedule.
|
||||||
|
pub fn cmd() cli.Command {
|
||||||
|
return cli.Command{
|
||||||
|
name: 'schedule'
|
||||||
|
description: 'Preview the behavior of a cron schedule.'
|
||||||
|
flags: [
|
||||||
|
cli.Flag{
|
||||||
|
name: 'count'
|
||||||
|
description: 'How many scheduled times to show.'
|
||||||
|
flag: cli.FlagType.int
|
||||||
|
default_value: ['5']
|
||||||
|
},
|
||||||
|
]
|
||||||
|
execute: fn (cmd cli.Command) ? {
|
||||||
|
exp := parse_expression(cmd.args.join(' '))?
|
||||||
|
|
||||||
|
mut t := exp.next_from_now()?
|
||||||
|
println(t)
|
||||||
|
|
||||||
|
count := cmd.flags.get_int('count')?
|
||||||
|
|
||||||
|
for _ in 1 .. count {
|
||||||
|
t = exp.next(t)?
|
||||||
|
|
||||||
|
println(t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,6 +5,7 @@ import server
|
||||||
import cli
|
import cli
|
||||||
import console.git
|
import console.git
|
||||||
import console.logs
|
import console.logs
|
||||||
|
import console.schedule
|
||||||
import cron
|
import cron
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
@ -27,6 +28,7 @@ fn main() {
|
||||||
git.cmd(),
|
git.cmd(),
|
||||||
cron.cmd(),
|
cron.cmd(),
|
||||||
logs.cmd(),
|
logs.cmd(),
|
||||||
|
schedule.cmd(),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
app.setup()
|
app.setup()
|
||||||
|
|
Loading…
Reference in New Issue