class Metacrunch::Redis::QueueDestination
Constants
- DEFAULT_OPTIONS
Public Class Methods
new(redis, queue_name, options = {})
click to toggle source
# File lib/metacrunch/redis/queue_destination.rb, line 10 def initialize(redis, queue_name, options = {}) @redis = redis @queue_name = queue_name @options = DEFAULT_OPTIONS.merge(options) end
Public Instance Methods
close()
click to toggle source
# File lib/metacrunch/redis/queue_destination.rb, line 30 def close if @redis begin @redis.bgsave if @options[:save_on_close] rescue Redis::CommandError ; end @redis.close end end
write(data)
click to toggle source
# File lib/metacrunch/redis/queue_destination.rb, line 16 def write(data) return if data.blank? @redis.rpush(@queue_name, data) rescue RuntimeError => e if e.message =~ /maxmemory/ puts "Redis has reached maxmemory. Waiting 10 seconds and trying again..." sleep(10) retry else raise e end end