Class: Smith::Messaging::Queue
- Inherits:
-
Object
- Object
- Smith::Messaging::Queue
show all
- Extended by:
- Util
- Defined in:
- lib/smith/messaging/queue.rb
Class Method Summary
collapse
Methods included from Util
number_of_consumers, number_of_messages
Class Method Details
.channel ⇒ Object
44
45
46
47
48
|
# File 'lib/smith/messaging/queue.rb', line 44
def channel
open_channel do |channel, ok|
yield channel
end
end
|
.consumers?(queue_def) ⇒ Boolean
15
16
17
18
19
|
# File 'lib/smith/messaging/queue.rb', line 15
def consumers?(queue_def)
number_of_consumers(queue_def) do |n|
yield n > 0
end
end
|
.messages?(queue_def, &blk) ⇒ Boolean
9
10
11
12
13
|
# File 'lib/smith/messaging/queue.rb', line 9
def messages?(queue_def, &blk)
number_of_messages(queue_def) do |n|
yield n > 0
end
end
|
.number_of_consumers(queue_def) ⇒ Object
21
22
23
24
25
|
# File 'lib/smith/messaging/queue.rb', line 21
def number_of_consumers(queue_def)
status(queue_def) do |_, number_consumers|
yield number_consumers
end
end
|
.number_of_messages(queue_def) ⇒ Object
27
28
29
30
31
|
# File 'lib/smith/messaging/queue.rb', line 27
def number_of_messages(queue_def)
status(queue_def) do |number_messages, _|
yield number_messages
end
end
|
.status(queue_def) ⇒ Object
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/smith/messaging/queue.rb', line 33
def status(queue_def)
open_channel do |channel, ok|
queue_def = queue_def.is_a?(QueueDefinition) ? queue_def : QueueDefinition.new(queue_def, :passive => true)
channel.queue(*queue_def.to_a).status do |number_messages, number_consumers|
yield number_messages, number_consumers
channel.close
end
end
end
|