diff options
author | Abdelkader Boudih <terminale@gmail.com> | 2014-08-18 08:17:36 +0000 |
---|---|---|
committer | Abdelkader Boudih <terminale@gmail.com> | 2014-08-18 20:04:02 +0000 |
commit | 68c643f8e70084d89f7bddff2b863b6b83411f4a (patch) | |
tree | 52f0e2107546945452924edae69366f93cc2171e | |
parent | 879dde9b1afbe69e31d355f3197183b99b7a7187 (diff) | |
download | rails-68c643f8e70084d89f7bddff2b863b6b83411f4a.tar.gz rails-68c643f8e70084d89f7bddff2b863b6b83411f4a.tar.bz2 rails-68c643f8e70084d89f7bddff2b863b6b83411f4a.zip |
[ActiveJob] Add queue_name_prefix so all queue are prefixed .
We can split queues on a per environement basis as well as seggregate per application so we can split queues on a per env basis
ActiveJob::Base.queue_name_prefix = 'foo'
-rw-r--r-- | activejob/lib/active_job/queue_name.rb | 5 | ||||
-rw-r--r-- | activejob/test/cases/queue_naming_test.rb | 15 |
2 files changed, 19 insertions, 1 deletions
diff --git a/activejob/lib/active_job/queue_name.rb b/activejob/lib/active_job/queue_name.rb index c2186d9fe9..9698835b6e 100644 --- a/activejob/lib/active_job/queue_name.rb +++ b/activejob/lib/active_job/queue_name.rb @@ -3,10 +3,13 @@ module ActiveJob extend ActiveSupport::Concern module ClassMethods + mattr_accessor(:queue_name_prefix) mattr_accessor(:default_queue_name) { "default" } def queue_as(part_name) - self.queue_name = part_name.to_s.presence || default_queue_name + queue_name = part_name.to_s.presence || default_queue_name + name_parts = [queue_name_prefix.presence, queue_name] + self.queue_name = name_parts.compact.join('_') end end diff --git a/activejob/test/cases/queue_naming_test.rb b/activejob/test/cases/queue_naming_test.rb index 426af608f0..fdfd1afceb 100644 --- a/activejob/test/cases/queue_naming_test.rb +++ b/activejob/test/cases/queue_naming_test.rb @@ -20,4 +20,19 @@ class QueueNamingTest < ActiveSupport::TestCase HelloJob.queue_name = LoggingJob.queue_name = ActiveJob::Base.default_queue_name end end + + test 'should prefix the queue name' do + begin + original_queue_name_prefix = ActiveJob::Base.queue_name_prefix + original_queue_name = HelloJob.queue_name + + ActiveJob::Base.queue_name_prefix = 'aj' + HelloJob.queue_as :low + assert_equal 'aj_low', HelloJob.queue_name + ensure + ActiveJob::Base.queue_name_prefix = original_queue_name_prefix + HelloJob.queue_name = original_queue_name + end + end + end |