Sha256: 8f386002bc2f81d9fc9e6850a2a57719ef5c0717e2d57e796e52130b5b9f8f19

Contents?: true

Size: 497 Bytes

Versions: 9

Compression:

Stored size: 497 Bytes

Contents

# vim:fileencoding=utf-8
require_relative 'base'

module ResqueAdmin
  module Scheduler
    module Lock
      class Basic < Base
        def acquire!
          if ResqueAdmin.redis.setnx(key, value)
            extend_lock!
            true
          end
        end

        def locked?
          if ResqueAdmin.redis.get(key) == value
            extend_lock!

            return true if ResqueAdmin.redis.get(key) == value
          end

          false
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
resque_admin-scheduler-1.2.0 lib/resque_admin/scheduler/lock/basic.rb
resque_admin-scheduler-1.1.9 lib/resque_admin/scheduler/lock/basic.rb
resque_admin-scheduler-1.1.8 lib/resque_admin/scheduler/lock/basic.rb
resque_admin-scheduler-1.1.7 lib/resque_admin/scheduler/lock/basic.rb
resque_admin-scheduler-1.0.4 lib/resque_admin/scheduler/lock/basic.rb
resque_admin-scheduler-1.0.3 lib/resque-admin/scheduler/lock/basic.rb
resque_admin-scheduler-1.3.0 lib/resque_admin/scheduler/lock/basic.rb
resque-admin-scheduler-1.3.0 lib/resque_admin/scheduler/lock/basic.rb
resque-admin-scheduler-4.3.0 lib/resque_admin/scheduler/lock/basic.rb