Class: Lowkiq::Queue::QueueMetrics

Inherits:
Object
  • Object
show all
Defined in:
lib/lowkiq/queue/queue_metrics.rb

Instance Method Summary collapse

Constructor Details

#initialize(redis_pool) ⇒ QueueMetrics

Returns a new instance of QueueMetrics.



4
5
6
7
# File 'lib/lowkiq/queue/queue_metrics.rb', line 4

def initialize(redis_pool)
  @redis_pool = redis_pool
  @timestamp = Utils::Timestamp.method(:now)
end

Instance Method Details

#call(queues) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/lowkiq/queue/queue_metrics.rb', line 9

def call(queues)
  result = @redis_pool.with do |redis|
    #redis.pipelined do
    redis.multi do
      queues.each { |queue| pipeline redis, queue }
    end
  end

  result.each_slice(pipeline_count).map do |res|
    coerce(res)
  end
end