mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
Add .registered_workers and .registered_queues to Sidekiq::Client
This commit is contained in:
parent
64e72eef28
commit
ac5d879361
3 changed files with 22 additions and 4 deletions
|
@ -20,8 +20,16 @@ module Sidekiq
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.queues
|
def self.registered_workers
|
||||||
@queues ||= {}
|
redis.smembers('workers')
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.registered_queues
|
||||||
|
redis.smembers('queues')
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.queue_mappings
|
||||||
|
@queue_mappings ||= {}
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.redis
|
def self.redis
|
||||||
|
@ -38,7 +46,7 @@ module Sidekiq
|
||||||
raise(ArgumentError, "Message must be a Hash of the form: { 'class' => SomeClass, 'args' => ['bob', 1, :foo => 'bar'] }") unless item.is_a?(Hash)
|
raise(ArgumentError, "Message must be a Hash of the form: { 'class' => SomeClass, 'args' => ['bob', 1, :foo => 'bar'] }") unless item.is_a?(Hash)
|
||||||
raise(ArgumentError, "Message must include a class and set of arguments: #{item.inspect}") if !item['class'] || !item['args']
|
raise(ArgumentError, "Message must include a class and set of arguments: #{item.inspect}") if !item['class'] || !item['args']
|
||||||
|
|
||||||
queue = queue || queues[item['class'].to_s] || 'default'
|
queue = queue || queue_mappings[item['class'].to_s] || 'default'
|
||||||
|
|
||||||
item['class'] = item['class'].to_s if !item['class'].is_a?(String)
|
item['class'] = item['class'].to_s if !item['class'].is_a?(String)
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ module Sidekiq
|
||||||
end
|
end
|
||||||
|
|
||||||
def queue(name)
|
def queue(name)
|
||||||
Sidekiq::Client.queues[self.name] = name.to_s
|
Sidekiq::Client.queue_mappings[self.name] = name.to_s
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -88,5 +88,15 @@ class TestClient < MiniTest::Unit::TestCase
|
||||||
assert pushed
|
assert pushed
|
||||||
@redis.verify
|
@redis.verify
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'retrieves queues' do
|
||||||
|
@redis.expect :smembers, ['bob'], ['queues']
|
||||||
|
assert_equal ['bob'], Sidekiq::Client.registered_queues
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'retrieves workers' do
|
||||||
|
@redis.expect :smembers, ['bob'], ['workers']
|
||||||
|
assert_equal ['bob'], Sidekiq::Client.registered_workers
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue