aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-26 11:32:10 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-26 11:32:10 +0100
commit31f5366ef857bc3e50f7a4485250cbe50d903e0b (patch)
treea1e68687abf505b10de3dc5dcd2956a3bb5ea500
parent550345fa3cd8b771005645e43deda50fbb7c2d73 (diff)
downloadkodapa-31f5366ef857bc3e50f7a4485250cbe50d903e0b.tar.gz
actually tick reminders
-rw-r--r--src/reminder.rs27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/reminder.rs b/src/reminder.rs
index 56c8d97..421720c 100644
--- a/src/reminder.rs
+++ b/src/reminder.rs
@@ -35,23 +35,22 @@ impl Reminders {
pub async fn handle(sender: watch::Sender<ReminderType>) {
let mut interval = tokio::time::interval(tokio::time::Duration::from_millis(1000));
- let now = Local::now();
- let next = next_meeting();
- let mut reminders = read_reminders();
- for mut reminder in &mut reminders.reminders {
- match reminder.reminder_type {
- ReminderType::OneHour => {
- if in_remind_zone(now, next) && !in_remind_zone(reminder.last_fire, next) {
- sender.broadcast(ReminderType::OneHour).unwrap();
- reminder.last_fire = now;
+ loop {
+ let now = Local::now();
+ let next = next_meeting();
+ let mut reminders = read_reminders();
+ for mut reminder in &mut reminders.reminders {
+ match reminder.reminder_type {
+ ReminderType::OneHour => {
+ if in_remind_zone(now, next) && !in_remind_zone(reminder.last_fire, next) {
+ sender.broadcast(ReminderType::OneHour).unwrap();
+ reminder.last_fire = now;
+ }
}
+ _ => {}
}
- _ => {}
}
- }
- reminders.write();
-
- loop {
+ reminders.write();
interval.tick().await;
}
}