use log::info;
use simple_logger::SimpleLogger;
use tasklet::task::TaskStepStatusOk::Success;
use tasklet::{TaskBuilder, TaskScheduler};
#[tokio::main]
async fn main() {
SimpleLogger::new().init().unwrap();
let mut count: usize = 5;
let mut scheduler = TaskScheduler::new(500, chrono::Utc);
scheduler
.add_task(
TaskBuilder::new(chrono::Utc)
.every("1, 10, 20 * * * * * *")
.description("Just some task")
.repeat(5)
.add_step_default(move || {
count = count - 1;
info!("I have {} more executions left!", count);
Ok(Success)
})
.build(),
)
.unwrap()
.add_task(
TaskBuilder::new(chrono::Utc)
.every("1, 10 , 20 * * * * * *")
.description("Just another task")
.add_step_default(|| {
info!("I will run forever!");
Ok(Success)
})
.build(),
)
.unwrap();
scheduler.run().await;
}