simple_example/
simple_example.rs

1use 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