From 283921efeb52851f811d32d63f75da50ceb5adce Mon Sep 17 00:00:00 2001 From: ferryvg Date: Mon, 20 Apr 2020 11:09:20 +0300 Subject: [PATCH 1/2] Fix issue with Scheduled panic for not found jobs --- scheduler.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scheduler.go b/scheduler.go index e9c1c3f..8f7d5ba 100644 --- a/scheduler.go +++ b/scheduler.go @@ -150,8 +150,13 @@ func (s *Scheduler) removeByCondition(shouldRemove func(*Job) bool) { // Scheduled checks if specific job j was already added func (s *Scheduler) Scheduled(j interface{}) bool { - for _, job := range s.jobs { - if job.jobFunc == getFunctionName(j) { +ScheduledLoop: + for i := 0; i < s.size; i++ { + if s.jobs[i] = nil { + continue ScheduledLoop + } + + if s.jobs[i].jobFunc == getFunctionName(j) { return true } } From 13b702daf8295ecb84c74b02e9830b043b3a8ca7 Mon Sep 17 00:00:00 2001 From: ferryvg Date: Mon, 20 Apr 2020 11:14:11 +0300 Subject: [PATCH 2/2] fix check --- scheduler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scheduler.go b/scheduler.go index 8f7d5ba..6f00020 100644 --- a/scheduler.go +++ b/scheduler.go @@ -152,7 +152,7 @@ func (s *Scheduler) removeByCondition(shouldRemove func(*Job) bool) { func (s *Scheduler) Scheduled(j interface{}) bool { ScheduledLoop: for i := 0; i < s.size; i++ { - if s.jobs[i] = nil { + if s.jobs[i] == nil { continue ScheduledLoop }