simple_example/
simple_example.rs1use std::process::exit;
2
3extern crate cpm_rs;
4
5use cpm_rs::{scheduler::Scheduler, customtask::CustomTask};
6
7#[allow(unused_must_use)]
8
9fn main() {
10 let mut scheduler = Scheduler::<i32>::new();
11 scheduler.add_task(CustomTask::new(
12 "Task_A".to_string()
13 , 1
14 , vec!{}
15 ));
16 scheduler.add_task(CustomTask::new(
17 "Sidetask_B".to_string()
18 , 3
19 , vec!{"Task_A".to_string()}
20 ));
21 scheduler.add_task(CustomTask::new(
22 "Sidetask_C".to_string()
23 , 2
24 , vec!{"Task_B".to_string()}
25 ));
26 scheduler.add_task(CustomTask::new(
27 "Finish".to_string()
28 , 1
29 , vec!{"Sidetask_B".to_string(), "Sidetask_C".to_string()}
30 ));
31 match scheduler.schedule() {
32 Ok(()) => {},
33 Err(e) => {eprintln!("Error: {}", e); exit(1);},
34 }
35
36}
37