Method: Wakame::MasterManagers::LockQueue#set

Defined in:
lib/wakame/master_managers/action_manager.rb

#set(resource, id) ⇒ Object



225
226
227
228
229
230
231
232
233
234
235
236
237
# File 'lib/wakame/master_managers/action_manager.rb', line 225

def set(resource, id)
  @self_m.synchronize {
    # Ths Job ID already holds/reserves the lock regarding the resource.
    return if @id2res.has_key?(id) && @id2res[id].has_key?(resource.to_s)
  
    @locks[resource.to_s] ||= []
    @id2res[id] ||= {}
    
    @id2res[id][resource.to_s]=1
    @locks[resource.to_s] << id
  }
  Wakame.log.debug("#{self.class}: set(#{resource.to_s}, #{id})" + "\n#{self.inspect}")
end