class Fluent::SidekiqOutput::Batch

Attributes

klass[RW]
payload[RW]
queue[RW]

Public Class Methods

new(q, k) click to toggle source
# File lib/fluent/plugin/out_sidekiq.rb, line 7
def initialize(q, k)
  self.queue = q
  self.klass = k
  self.payload = {:class => k, :retry => true, :jid => "", :enqueued_at => 0, :args => [[]] }
end

Public Instance Methods

acceptable_batch(q, c, p, max_size) click to toggle source
# File lib/fluent/plugin/out_sidekiq.rb, line 13
def acceptable_batch(q, c, p, max_size)
  q == queue && c == klass && (payload[:args][0].length + p.length) <= max_size
end
add_to_batch(p) click to toggle source
# File lib/fluent/plugin/out_sidekiq.rb, line 17
def add_to_batch(p)
  payload[:retry] = p['retry']
  payload[:jid] = p['jid']
  payload[:enqueued_at] = p['enqueued_at']
  payload[:args][0] += p['args'][0]
end
enqueue(client) click to toggle source
# File lib/fluent/plugin/out_sidekiq.rb, line 24
def enqueue(client)
  client.sadd("queues", queue)
  client.lpush("queue:#{queue}", JSON.generate(payload))
end