Module: Massive::Locking

Included in:
Notifiers::Base, Step
Defined in:
lib/massive/locking.rb

Instance Method Summary collapse

Instance Method Details

#locked?(key, expire_in = 60 * 1000) ⇒ Boolean

Returns:

  • (Boolean)


3
4
5
6
7
8
9
# File 'lib/massive/locking.rb', line 3

def locked?(key, expire_in=60 * 1000)
  lock_key = lock_key_for(key)

  !redis.setnx(lock_key, Time.now.to_i + (expire_in)/1000).tap do |result|
    expire(lock_key, expire_in) if result
  end
end