From 11cca48e6e9857c7476b444fcae5f861d3ad0ffe Mon Sep 17 00:00:00 2001 From: Marek Wysinski Date: Mon, 21 Nov 2022 10:19:57 +0000 Subject: [PATCH] Add support for the 'except_queues' parameter --- lib/delayed/backend/active_record.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/delayed/backend/active_record.rb b/lib/delayed/backend/active_record.rb index 62b186a1..8e6046ba 100644 --- a/lib/delayed/backend/active_record.rb +++ b/lib/delayed/backend/active_record.rb @@ -42,6 +42,7 @@ class Job < ::ActiveRecord::Base scope :min_priority, lambda { where("priority >= ?", Worker.min_priority) if Worker.min_priority } scope :max_priority, lambda { where("priority <= ?", Worker.max_priority) if Worker.max_priority } scope :for_queues, lambda { |queues = Worker.queues| where(queue: queues) if Array(queues).any? } + scope :excluding_queues, lambda { |queues = Worker.except_queues| where.not(queue: queues) if Array(queues).any? } before_save :set_default_run_at @@ -80,6 +81,7 @@ def self.reserve(worker, max_run_time = Worker.max_run_time) .min_priority .max_priority .for_queues + .excluding_queues .by_priority reserve_with_scope(ready_scope, worker, db_time_now)