An ActiveJob plugin that adds locking, with optional timeout/deadlock handling. Using a lock_timeout allows you to re-acquire the lock should your job fail, crash, or is otherwise unable to release ...