Class: Sidekiq::Processor::SharedWorkState

Inherits:
Object
  • Object
show all
Defined in:
lib/sidekiq/processor.rb

Overview

jruby’s Hash implementation is not threadsafe, so we wrap it in a mutex here

Instance Method Summary collapse

Constructor Details

#initializeSharedWorkState

Returns a new instance of SharedWorkState.



254
255
256
257
# File 'lib/sidekiq/processor.rb', line 254

def initialize
  @work_state = {}
  @lock = Mutex.new
end

Instance Method Details

#clearObject



275
276
277
# File 'lib/sidekiq/processor.rb', line 275

def clear
  @lock.synchronize { @work_state.clear }
end

#delete(tid) ⇒ Object



263
264
265
# File 'lib/sidekiq/processor.rb', line 263

def delete(tid)
  @lock.synchronize { @work_state.delete(tid) }
end

#dupObject



267
268
269
# File 'lib/sidekiq/processor.rb', line 267

def dup
  @lock.synchronize { @work_state.dup }
end

#set(tid, hash) ⇒ Object



259
260
261
# File 'lib/sidekiq/processor.rb', line 259

def set(tid, hash)
  @lock.synchronize { @work_state[tid] = hash }
end

#sizeObject



271
272
273
# File 'lib/sidekiq/processor.rb', line 271

def size
  @lock.synchronize { @work_state.size }
end