Sha256: 9f97648b0f843c5ea7249ba65151b5e25f704085bbcadbda519de5ca31664525
Contents?: true
Size: 1.78 KB
Versions: 39
Compression:
Stored size: 1.78 KB
Contents
module Fog module Rackspace class Queues class Real # This operation returns queue statistics, including how many messages are in the queue, categorized by status. # # @param [String] queue_name Specifies the name of the queue. # @return [Excon::Response] response # @raise [Fog::Rackspace::Queues::NotFound] - HTTP 404 # @raise [Fog::Rackspace::Queues::BadRequest] - HTTP 400 # @raise [Fog::Rackspace::Queues::InternalServerError] - HTTP 500 # @raise [Fog::Rackspace::Queues::ServiceError] # @see http://docs.rackspace.com/queues/api/v1.0/cq-devguide/content/GET_getQueueStats__version__queues__queue_name__stats_queue-operations-dle001.html def get_queue_stats(queue_name) request( :expects => 200, :method => 'GET', :path => "queues/#{queue_name}/stats" ) end end class Mock def get_queue_stats(queue_name) queue = mock_queue!(queue_name) payload = { "claimed" => queue.claimed, "total" => queue.total, "free" => queue.free } report_message(payload, "oldest", queue.oldest) report_message(payload, "newest", queue.newest) response = Excon::Response.new response.status = 200 response.body = { "messages" => payload } response end private def report_message(payload, description, element) return unless element ctime = Time.at(element.created).utc payload[description] = { "age" => element.age, "href" => element.href, "created" => ctime.strftime("%Y-%m-%dT%I:%M:%SZ") } end end end end end
Version data entries
39 entries across 37 versions & 6 rubygems