class Sidekiq::Processor::Counter
Ruby doesn’t provide atomic counters out of the box so we’ll implement something simple ourselves. bugs.ruby-lang.org/issues/14706
Public Class Methods
Source
# File lib/sidekiq/processor.rb, line 234 def initialize @value = 0 @lock = Mutex.new end
Public Instance Methods
Source
# File lib/sidekiq/processor.rb, line 239 def incr(amount = 1) @lock.synchronize { @value += amount } end
Source
# File lib/sidekiq/processor.rb, line 243 def reset @lock.synchronize { val = @value @value = 0 val } end