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