Skip to content

Commit 1473576

Browse files
committed
default an explicitly passed priority of nil to the default priority
1 parent a077e13 commit 1473576

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

lib/delayed/backend/base.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ module ClassMethods
3131
# :priority, :run_at, :queue, :strand, :singleton
3232
# Example: Delayed::Job.enqueue(object, priority: 0, run_at: time, queue: queue)
3333
def enqueue(object,
34-
priority: default_priority,
34+
priority: nil,
3535
run_at: nil,
3636
expires_at: nil,
3737
queue: Delayed::Settings.queue,
@@ -45,6 +45,7 @@ def enqueue(object,
4545
raise ArgumentError, "Cannot enqueue items which do not respond to perform"
4646
end
4747

48+
priority ||= default_priority
4849
strand ||= singleton if Settings.infer_strand_from_singleton
4950

5051
kwargs = Settings.default_job_options.merge(kwargs)

spec/shared/shared_backend.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,16 @@ def create_job(opts = {})
7575
Delayed::Job.default_priority = 0
7676
end
7777

78+
it "uses the default priority when a priority of nil is explicitly specified" do
79+
Delayed::Job.default_priority = 0
80+
@job = Delayed::Job.enqueue SimpleJob.new, priority: nil
81+
@job.priority.should == 0
82+
Delayed::Job.default_priority = 10
83+
@job = Delayed::Job.enqueue SimpleJob.new, priority: nil
84+
@job.priority.should == 10
85+
Delayed::Job.default_priority = 0
86+
end
87+
7888
it "is able to set run_at when enqueuing items" do
7989
later = Delayed::Job.db_time_now + 5.minutes
8090
@job = Delayed::Job.enqueue SimpleJob.new, priority: 5, run_at: later

0 commit comments

Comments
 (0)