class Flapjack::RecordQueue

Public Class Methods

new(queue, object_klass) click to toggle source
# File lib/flapjack/record_queue.rb, line 7
def initialize(queue, object_klass)
  @queue = queue
  @object_klass = object_klass
end

Public Instance Methods

foreach(options = {}) { |object| ... } click to toggle source
# File lib/flapjack/record_queue.rb, line 19
def foreach(options = {})
  while object_id = Flapjack.redis.rpop(@queue)
    next unless object = @object_klass.find_by_id(object_id)
    yield object if block_given?
    object.destroy unless options[:keep]
  end
end
push(object) click to toggle source
# File lib/flapjack/record_queue.rb, line 12
def push(object)
  Flapjack.redis.multi do
    Flapjack.redis.lpush(@queue, object.id)
    Flapjack.redis.lpush("#{@queue}_actions", "+")
  end
end
wait() click to toggle source
# File lib/flapjack/record_queue.rb, line 27
def wait
  Flapjack.redis.brpop("#{@queue}_actions")
end