diff --git a/lib/que/poller.rb b/lib/que/poller.rb
index <HASH>..<HASH> 100644
--- a/lib/que/poller.rb
+++ b/lib/que/poller.rb
@@ -269,25 +269,18 @@ module Que
     private
 
     def any_priority_satisfied?(priorities, jobs)
-      worker_job_counts = workers_jobs_allocation_counts(priorities, jobs)
-      priorities.any? do |worker_priority, waiting_workers_count|
-        worker_job_counts[worker_priority] == waiting_workers_count
-      end
-    end
-
-    def workers_jobs_allocation_counts(priorities, jobs)
       job_priorities = jobs.map { |job| job.fetch(:priority) }.sort
       worker_job_counts = Hash.new(0)
-      priorities.each do |worker_priority, waiting_workers_count|
+      priorities.any? do |worker_priority, waiting_workers_count|
         waiting_workers_count.times do
-          next if job_priorities.empty?
+          return false if job_priorities.empty?
           if job_priorities.first <= worker_priority
             job_priorities.shift
             worker_job_counts[worker_priority] += 1
           end
         end
+        worker_job_counts[worker_priority] == waiting_workers_count
       end
-      worker_job_counts
     end
   end
 end
Refactor Poller#any_priority_satisfied? to use any? to stop allocating jobs to workers when a match is found