Method: Redis::Semaphore#release_stale_locks!

Defined in:
lib/redis/semaphore.rb

#release_stale_locks!Object



137
138
139
140
141
142
143
144
145
146
147
# File 'lib/redis/semaphore.rb', line 137

def release_stale_locks!
  simple_mutex(:release_locks, 10) do
    @redis.hgetall(grabbed_key).each do |token, locked_at|
      timed_out_at = locked_at.to_f + @stale_client_timeout

      if timed_out_at < current_time.to_f
        signal(token)
      end
    end
  end
end