Module: Que::Locks
- Defined in:
- lib/que/locks.rb,
lib/que/locks/railtie.rb,
lib/que/locks/version.rb,
lib/que/locks/job_extensions.rb,
lib/que/locks/lock_middleware.rb,
lib/que/locks/active_job_extensions.rb
Defined Under Namespace
Modules: ActiveJobExtensions, ExecutionLock, JSONExtensions, JobExtensions Classes: Error, Railtie
Constant Summary collapse
- VERSION =
"0.4.1".freeze
- LockMiddleware =
->(job, &block) { if job.class.exclusive_execution_lock args = job.que_attrs[:args] lock_key = ExecutionLock.lock_key(job.class, args) if ExecutionLock.acquire!(lock_key) begin block.call ensure ExecutionLock.release!(lock_key) end else Que.log(level: :info, event: :skipped_execution_due_to_lock, args: args, job_class: job.class.name) end else block.call end nil }