From c63c855c86728bf351d0ba69caec95cccd0145dc Mon Sep 17 00:00:00 2001 From: Eugene R Date: Sat, 23 Mar 2024 14:24:47 +0200 Subject: [PATCH] refactor: remove excessive queue empty check (#124) --- quartz/scheduler.go | 12 +++++------- quartz/scheduler_test.go | 6 ++++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/quartz/scheduler.go b/quartz/scheduler.go index e76a87e..06a96d3 100644 --- a/quartz/scheduler.go +++ b/quartz/scheduler.go @@ -454,12 +454,6 @@ func (sched *StdScheduler) calculateNextTick() time.Duration { } func (sched *StdScheduler) executeAndReschedule(ctx context.Context) { - // return if the job queue is empty - if sched.queue.Size() == 0 { - logger.Debug("Job queue is empty.") - return - } - // fetch a job for processing scheduled, valid := sched.fetchAndReschedule() @@ -533,7 +527,11 @@ func (sched *StdScheduler) fetchAndReschedule() (ScheduledJob, bool) { // fetch a job for processing job, err := sched.queue.Pop() if err != nil { - logger.Errorf("Failed to fetch a job from the queue: %s", err) + if errors.Is(err, ErrQueueEmpty) { + logger.Debug("Queue is empty") + } else { + logger.Errorf("Failed to fetch a job from the queue: %s", err) + } return nil, false } // validate the job diff --git a/quartz/scheduler_test.go b/quartz/scheduler_test.go index 6476726..918979b 100644 --- a/quartz/scheduler_test.go +++ b/quartz/scheduler_test.go @@ -220,10 +220,11 @@ func TestScheduler_Cancel(t *testing.T) { startingRoutines := runtime.NumGoroutine() sched := quartz.NewStdScheduler() - sched.Start(ctx) + + time.Sleep(5 * time.Millisecond) noopRoutines := runtime.NumGoroutine() - if startingRoutines > noopRoutines { + if startingRoutines >= noopRoutines { t.Error("should have started more threads", startingRoutines, noopRoutines, @@ -268,6 +269,7 @@ func TestScheduler_Cancel(t *testing.T) { t.Fatal("waiting timed out before resources were released", err) } + time.Sleep(5 * time.Millisecond) endingRoutines := runtime.NumGoroutine() if endingRoutines >= runningRoutines { t.Error("number of routines should decrease after wait",