blob: 0d0e783e459688dac72a31e1824db596a54a612a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
}
})
}
|