Class: Synapse::ProcessManager::PessimisticLockManager

Inherits:
Object
  • Object
show all
Defined in:
lib/synapse/process_manager/pessimistic_lock_manager.rb

Overview

Lock manager that blocks until a lock can be obtained for a process

Instance Method Summary collapse

Constructor Details

#initializePessimisticLockManager

Returns a new instance of PessimisticLockManager.



5
6
7
# File 'lib/synapse/process_manager/pessimistic_lock_manager.rb', line 5

def initialize
  @lock = IdentifierLock.new
end

Instance Method Details

#obtain_lock(process_id) ⇒ undefined

Parameters:

  • process_id (String)

Returns:

  • (undefined)


11
12
13
# File 'lib/synapse/process_manager/pessimistic_lock_manager.rb', line 11

def obtain_lock(process_id)
  @lock.obtain_lock process_id
end

#release_lock(process_id) ⇒ undefined

Parameters:

  • process_id (String)

Returns:

  • (undefined)

Raises:

  • (ThreadError)

    If thread didn’t previously hold the lock



18
19
20
# File 'lib/synapse/process_manager/pessimistic_lock_manager.rb', line 18

def release_lock(process_id)
  @lock.release_lock process_id
end