From 31f5366ef857bc3e50f7a4485250cbe50d903e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Thu, 26 Nov 2020 11:32:10 +0100 Subject: actually tick reminders --- src/reminder.rs | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'src/reminder.rs') 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) { 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; } } -- cgit v1.2.1