diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-11-26 11:32:10 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-11-26 11:32:10 +0100 |
| commit | 31f5366ef857bc3e50f7a4485250cbe50d903e0b (patch) | |
| tree | a1e68687abf505b10de3dc5dcd2956a3bb5ea500 | |
| parent | 550345fa3cd8b771005645e43deda50fbb7c2d73 (diff) | |
| download | kodapa-31f5366ef857bc3e50f7a4485250cbe50d903e0b.tar.gz | |
actually tick reminders
| -rw-r--r-- | src/reminder.rs | 27 |
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; } } |
