use chrono::NaiveDateTime; use karlcommon::{Schedule, Task}; use crate::TASKS; pub fn schedule_dynamic() { let tasks = TASKS.write().unwrap(); let colliders = tasks.values().filter(|t| !t.schedule.is_dynamic()); let mut dynamic = tasks .values() .filter(|t| t.schedule.is_dynamic()) .collect::>(); dynamic.sort_by_key(|t| { if let Schedule::Dynamic { priority, .. } = t.schedule { // TODO increase precision by using floats (priority * 1000.0) as i64 } else { 0 } }) }