aboutsummaryrefslogtreecommitdiff
path: root/karld/src/schedule.rs
diff options
context:
space:
mode:
Diffstat (limited to 'karld/src/schedule.rs')
-rw-r--r--karld/src/schedule.rs20
1 files changed, 19 insertions, 1 deletions
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::<Vec<_>>();
+
+ 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
+ }
+ })
}