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