diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-04 01:13:42 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-04 01:13:42 +0100 |
| commit | 7b144f43ad05eb28eb6726ff40b4b8bff80a32ea (patch) | |
| tree | 47919258ff322962002ea92b92f7dc5f30f0b2a3 | |
| parent | recording: reject a zero-length window (diff) | |
| download | senator-sperma-7b144f43ad05eb28eb6726ff40b4b8bff80a32ea.tar.gz senator-sperma-7b144f43ad05eb28eb6726ff40b4b8bff80a32ea.zip | |
cron: simplify the first-fire lookup
| -rw-r--r-- | src/tasks/mod.rs | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/tasks/mod.rs b/src/tasks/mod.rs index b492f61..362db80 100644 --- a/src/tasks/mod.rs +++ b/src/tasks/mod.rs | |||
| @@ -74,14 +74,7 @@ pub async fn check_and_execute_jobs(ctx: &CronContext) { | |||
| 74 | |utc_last_run| Local.from_utc_datetime(&utc_last_run.naive_utc()), | 74 | |utc_last_run| Local.from_utc_datetime(&utc_last_run.naive_utc()), |
| 75 | ); | 75 | ); |
| 76 | 76 | ||
| 77 | let mut due_fire: Option<DateTime<Local>> = None; | 77 | let due_fire = schedule.after(&reference).next().filter(|fire| *fire <= now); |
| 78 | for next_fire in schedule.after(&reference) { | ||
| 79 | if next_fire > now { | ||
| 80 | break; | ||
| 81 | } | ||
| 82 | due_fire = Some(next_fire); | ||
| 83 | break; | ||
| 84 | } | ||
| 85 | 78 | ||
| 86 | let Some(fire_time) = due_fire else { | 79 | let Some(fire_time) = due_fire else { |
| 87 | continue; | 80 | continue; |
