Method: Azure::Queue::QueueService#peek_messages

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

#peek_messages(queue_name, options = {}) ⇒ Object

Public: Retrieves one or more messages from the front of the queue, without changing the message visibility.

Attributes

  • queue_name - String. The queue name.

  • 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)

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

  • :timeout - Integer. A timeout in seconds.

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

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



403
404
405
406
407
408
409
410
411
412
413
414
415
# File 'lib/azure/queue/queue_service.rb', line 403

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

  query = { "peekonly" => "true", "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