From 1441b718c9bbf8016f563cfc89f4ee322e4f42e4 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 13 Jun 2022 10:07:36 +0200 Subject: started dynamic schedule --- karld/src/schedule.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'karld/src') diff --git a/karld/src/schedule.rs b/karld/src/schedule.rs index 1f3c479..0d0e783 100644 --- a/karld/src/schedule.rs +++ b/karld/src/schedule.rs @@ -1,5 +1,23 @@ +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 + } + }) } -- cgit v1.2.3-70-g09d2