class MultiBackgroundJob::Middleware::UniqueJob::Faktory::Worker

Worker middleware runs around the execution of a job

Public Instance Methods

call(_jobinst, payload) { || ... } click to toggle source
# File lib/multi_background_job/middleware/unique_job/faktory.rb, line 22
def call(_jobinst, payload)
  if payload.is_a?(Hash) && (unique_lock = unique_job_lock(payload))
    unique_lock.unlock
  end
  yield
end

Protected Instance Methods

unique_job_lock(payload) click to toggle source
# File lib/multi_background_job/middleware/unique_job/faktory.rb, line 31
def unique_job_lock(payload)
  return unless payload['uniq'].is_a?(Hash)

  unique_job = ::MultiBackgroundJob::UniqueJob.coerce(payload['uniq'])
  unique_job&.lock
end