Skip to content

Commit 5546c9b

Browse files
javawizardccutrer
authored andcommitted
default an explicitly passed priority of nil to the default priority
1 parent 6b2081a commit 5546c9b

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,
@@ -44,6 +44,7 @@ def enqueue(object,
4444
raise ArgumentError, "Cannot enqueue items which do not respond to perform"
4545
end
4646

47+
priority ||= default_priority
4748
strand ||= singleton if Settings.infer_strand_from_singleton
4849

4950
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
@@ -99,6 +99,16 @@ def no_op_callback(_); end
9999
Delayed::Job.default_priority = 0
100100
end
101101

102+
it "uses the default priority when a priority of nil is explicitly specified" do
103+
Delayed::Job.default_priority = 0
104+
@job = Delayed::Job.enqueue SimpleJob.new, priority: nil
105+
expect(@job.priority).to be 0
106+
Delayed::Job.default_priority = 10
107+
@job = Delayed::Job.enqueue SimpleJob.new, priority: nil
108+
expect(@job.priority).to be 10
109+
Delayed::Job.default_priority = 0
110+
end
111+
102112
it "is able to set run_at when enqueuing items" do
103113
later = Delayed::Job.db_time_now + 5.minutes
104114
@job = Delayed::Job.enqueue SimpleJob.new, priority: 5, run_at: later

0 commit comments

Comments
 (0)