Method: Azure::Queue::QueueService#list_messages

Defined in:
lib/azure/queue/queue_service.rb

#list_messages(queue_name, visibility_timeout, options = {}) ⇒ Object

Public: Retrieves one or more messages from the front of the queue.

Attributes

  • queue_name - String. The queue name.

  • visibility_timeout - Integer. The new visibility timeout value, in seconds, relative to server time.

  • options - Hash. Optional parameters.

Options

Accepted key/value pairs in options parameter are:

  • :number_of_messages - Integer. How many messages to return. (optional, Default: 1)

  • :timeout - Integer. A timeout in seconds.

  • :decode - Boolean. Boolean value indicating if the message should be base64 decoded.

See msdn.microsoft.com/en-us/library/azure/dd179474

Returns a list of Azure::Entity::Queue::Message instances



435
436
437
438
439
440
441
442
443
444
445
446
447
# File 'lib/azure/queue/queue_service.rb', line 435

def list_messages(queue_name, visibility_timeout, options={})
  number_of_messages=1
  number_of_messages = options[:number_of_messages] if options[:number_of_messages]

  query = { "visibilitytimeout" => visibility_timeout.to_s, "numofmessages"=> number_of_messages.to_s }
  query["timeout"] = options[:timeout].to_s if options[:timeout]

  uri = messages_uri(queue_name, query)
  response = call(:get, uri)

  messages = Serialization.queue_messages_from_xml(response.body, options[:decode])
  messages
end