Merge pull request #34376 from composerinteralia/default_queue_name

Allow using queue prefix with a default queue name
This commit is contained in:
Rafael França 2018-11-23 17:08:40 -05:00 committed by GitHub
commit f0330b6202
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 2 deletions

@ -34,7 +34,7 @@ def queue_name_from_part(part_name) #:nodoc:
end
included do
class_attribute :queue_name, instance_accessor: false, default: default_queue_name
class_attribute :queue_name, instance_accessor: false, default: -> { self.class.default_queue_name }
class_attribute :queue_name_delimiter, instance_accessor: false, default: "_"
end

@ -7,7 +7,7 @@
class QueueNamingTest < ActiveSupport::TestCase
test "name derived from base" do
assert_equal "default", HelloJob.queue_name
assert_equal "default", HelloJob.new.queue_name
end
test "uses given queue name job" do
@ -97,6 +97,33 @@ class QueueNamingTest < ActiveSupport::TestCase
end
end
test "using a custom default_queue_name" do
original_default_queue_name = ActiveJob::Base.default_queue_name
begin
ActiveJob::Base.default_queue_name = "default_queue_name"
assert_equal "default_queue_name", HelloJob.new.queue_name
ensure
ActiveJob::Base.default_queue_name = original_default_queue_name
end
end
test "queue_name_prefix prepended to the default_queue_name" do
original_queue_name_prefix = ActiveJob::Base.queue_name_prefix
original_default_queue_name = ActiveJob::Base.default_queue_name
begin
ActiveJob::Base.queue_name_prefix = "prefix"
ActiveJob::Base.default_queue_name = "default_queue_name"
assert_equal "prefix_default_queue_name", HelloJob.new.queue_name
ensure
ActiveJob::Base.queue_name_prefix = original_queue_name_prefix
ActiveJob::Base.default_queue_name = original_default_queue_name
end
end
test "uses queue passed to #set" do
job = HelloJob.set(queue: :some_queue).perform_later
assert_equal "some_queue", job.queue_name