From 41dd412a49d2cb69ec0fc91b8d5d1f508ca9be99 Mon Sep 17 00:00:00 2001 From: John Roesler Date: Sat, 23 Mar 2024 13:57:09 -0500 Subject: [PATCH] fix case where job removed causes panic when rescheduling (#698) --- scheduler.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scheduler.go b/scheduler.go index 32c7acc..428c493 100644 --- a/scheduler.go +++ b/scheduler.go @@ -288,7 +288,12 @@ func (s *scheduler) selectRemoveJob(id uuid.UUID) { // Jobs coming back from the executor to the scheduler that // need to evaluated for rescheduling. func (s *scheduler) selectExecJobIDsOut(id uuid.UUID) { - j := s.jobs[id] + j, ok := s.jobs[id] + if !ok { + // the job was removed while it was running, and + // so we don't need to reschedule it. + return + } j.lastRun = j.nextRun // if the job has a limited number of runs set, we need to