module ProcessBalancer::Lock::AdvisoryLock

This is lock implementation using advisory locks on the database via the with_advisory_lock gem

Public Instance Methods

worker_lock() { |lock| ... } click to toggle source
# File lib/process_balancer/lock/advisory_lock.rb, line 12
def worker_lock
  key = "worker_lock_#{job_id}_#{worker_index}"
  lock = DummyLock.new
  ActiveRecord::Base.with_advisory_lock(key) do
    yield lock
  end
end