class Polipus::QueueOverflow::Worker

Public Class Methods

new(manager) click to toggle source
# File lib/polipus/queue_overflow/worker.rb, line 5
def initialize(manager)
  @logger  = manager.polipus.logger
  @delay   = manager.polipus.options[:queue_overflow_manager_check_time]
  @adapter = manager.polipus.queue_overflow_adapter
  @manager = manager
end

Public Instance Methods

run() click to toggle source
# File lib/polipus/queue_overflow/worker.rb, line 12
def run
  @logger.info { 'Overflow::Worker::run' }
  loop do
    @logger.info { 'Overflow Manager: cycle started' }
    removed, restored = @manager.perform
    @logger.info { "Overflow Manager: items removed=#{removed}, items restored=#{restored}, items stored=#{@adapter.size}" }
    sleep @delay
    break if SignalHandler.terminated?
  end
end