Class: MessageQueue::Kestrel
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #client ⇒ Object
- #confirm(queue) ⇒ Object
- #dequeue(queue) ⇒ Object
- #enqueue(queue, data) ⇒ Object
-
#initialize(opts) ⇒ Kestrel
constructor
A new instance of Kestrel.
- #queue_size(queue) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(opts) ⇒ Kestrel
Returns a new instance of Kestrel.
3 4 5 |
# File 'lib/message_queue/kestrel.rb', line 3 def initialize(opts) @servers = opts['servers'] end |
Instance Method Details
#client ⇒ Object
28 29 30 |
# File 'lib/message_queue/kestrel.rb', line 28 def client @client ||= MemCache.new(servers) end |
#confirm(queue) ⇒ Object
24 25 26 |
# File 'lib/message_queue/kestrel.rb', line 24 def confirm(queue) client.get("#{queue}/close") end |
#dequeue(queue) ⇒ Object
20 21 22 |
# File 'lib/message_queue/kestrel.rb', line 20 def dequeue(queue) client.get("#{queue}/open") end |
#enqueue(queue, data) ⇒ Object
16 17 18 |
# File 'lib/message_queue/kestrel.rb', line 16 def enqueue(queue, data) client.set(queue, data) end |
#queue_size(queue) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/message_queue/kestrel.rb', line 7 def queue_size(queue) size = 0 stats = client.stats servers.each do |server| size += stats[server]["queue_#{queue}_items"].to_i end size end |