class RedisBatchPush::Getter
Attributes
backup_queue[R]
Public Class Methods
new(redis_client, queue)
click to toggle source
# File lib/redis_batch_push/getter.rb, line 8 def initialize redis_client, queue @redis_client = redis_client @queue = queue @backup_queue = "#{@queue}:backup:#{SecureRandom.hex}" end
Public Instance Methods
clear_backup()
click to toggle source
# File lib/redis_batch_push/getter.rb, line 24 def clear_backup @redis_client.del(@backup_queue) end
get_next_item()
click to toggle source
# File lib/redis_batch_push/getter.rb, line 14 def get_next_item @redis_client.brpoplpush( @queue, @backup_queue, { timeout: 5 } ) end
restore_backups()
click to toggle source
# File lib/redis_batch_push/getter.rb, line 28 def restore_backups @redis_client.keys("#{@queue}:backup:*").each do |bkp_queue| loop do break unless @redis_client.rpoplpush(bkp_queue, @queue) end @redis_client.del(bkp_queue) end end