Class: Polipus::QueueOverflow::Worker

Inherits:
Object
  • Object
show all
Defined in:
lib/polipus/queue_overflow/worker.rb

Instance Method Summary collapse

Constructor Details

#initialize(manager) ⇒ Worker

Returns a new instance of Worker.



5
6
7
8
9
10
# 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

Instance Method Details

#runObject



12
13
14
15
16
17
18
19
20
21
# 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