31 lines
824 B
Rust
31 lines
824 B
Rust
use lool::sched::{recur, ruleset, Scheduler};
|
|
|
|
fn my_action() {
|
|
let now = chrono::Local::now();
|
|
println!("I'm running at {}", now.format("%Y-%m-%d %H:%M:%S"));
|
|
|
|
std::thread::sleep(std::time::Duration::from_secs(15));
|
|
}
|
|
|
|
fn main() {
|
|
let mut sched = Scheduler::new();
|
|
|
|
let handler = sched.schedule("test-task", my_action, recur(ruleset().at_second(0)));
|
|
|
|
std::thread::sleep(std::time::Duration::from_secs(1));
|
|
|
|
loop {
|
|
let is_running = handler.is_running();
|
|
let last_run = handler.get_last_run();
|
|
let next_run = handler.get_next_run();
|
|
let name = handler.name();
|
|
|
|
println!(
|
|
"task {name} |--> running: {is_running}, last: {last_run:?}, next: {next_run:?}"
|
|
);
|
|
|
|
|
|
std::thread::sleep(std::time::Duration::from_secs(2));
|
|
}
|
|
}
|