Class: Cliaws::Sqs

Inherits:
Object
  • Object
show all
Defined in:
lib/cliaws/sqs.rb

Instance Method Summary collapse

Constructor Details

#initialize(access_key_id, secret_access_key) ⇒ Sqs

Returns a new instance of Sqs.



5
6
7
# File 'lib/cliaws/sqs.rb', line 5

def initialize(access_key_id, secret_access_key)
  @sqs = RightAws::SqsGen2.new(access_key_id, secret_access_key, :logger => Logger.new("/dev/null"))
end

Instance Method Details

#create(qname) ⇒ Object

Creates a queue



40
41
42
# File 'lib/cliaws/sqs.rb', line 40

def create(qname)
  q(qname, true)
end

#delete(qname, force = false) ⇒ Object

Deletes a queue. force must be true to delete a queue with pending messages.



45
46
47
# File 'lib/cliaws/sqs.rb', line 45

def delete(qname, force=false)
  q(qname).delete(force)
end

#fetch(qname, size) ⇒ Object

Fetches a number of messages.



25
26
27
# File 'lib/cliaws/sqs.rb', line 25

def fetch(qname, size)
  q(qname).receive_messages(size)
end

#info(qname) ⇒ Object

Retrieves information about a queue



50
51
52
53
# File 'lib/cliaws/sqs.rb', line 50

def info(qname)
  queue = q(qname)
  { :visibility_timeout => queue.visibility, :size => queue.size }
end

#list(prefix = nil) ⇒ Object

Lists the created queues.



35
36
37
# File 'lib/cliaws/sqs.rb', line 35

def list(prefix=nil)
  @sqs.queues(prefix)
end

#pop(qname) ⇒ Object

Gets and deletes message.



20
21
22
# File 'lib/cliaws/sqs.rb', line 20

def pop(qname)
  q(qname).pop
end

#push(qname, data) ⇒ Object

Adds a message in the queue.



15
16
17
# File 'lib/cliaws/sqs.rb', line 15

def push(qname, data)
  q(qname).push(data)
end

#receive(qname) ⇒ Object

Gets a message from the queue, but doesn’t delete it.



10
11
12
# File 'lib/cliaws/sqs.rb', line 10

def receive(qname)
  q(qname).receive
end

#size(qname) ⇒ Object

Returns the size of the queue.



30
31
32
# File 'lib/cliaws/sqs.rb', line 30

def size(qname)
  q(qname).size
end