debounce 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/debounce.rb +3 -3
- data/lib/debounce/redis_connection.rb +0 -1
- data/lib/debounce/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96c6a78a36d7b65bf4320546f4c26821c413f66a
|
4
|
+
data.tar.gz: 1f68e7cfced478fed799254ee86443890d959d47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32af41082f5a9f7c64225e921cac58795e08eb5aa7d7e13c38967485bb1a9bc50a1697a27cfad1cad2e99b4a1a122c11047c769d5007fb4e58e9c28a684a7885
|
7
|
+
data.tar.gz: 1eb8062340b7c6be48fe0b90782b9cb7ce9c0e5846f2797869b929f465b0b1b8e8e911891ef9658bfd34891d7615cc73197c2ca6612bf5c8022f3d8be2343857
|
data/lib/debounce.rb
CHANGED
@@ -17,12 +17,12 @@ module Debounce
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
def self.call(key, timeout: 1)
|
20
|
+
def self.call(key, timeout: 1, stale_client_timeout: 600) # 10 minutes
|
21
21
|
lock_key = "DEBOUNCE:#{key}"
|
22
|
-
semaphore1 = Redis::Semaphore.new("#{lock_key}-1", resources: 2, redis: redis.dup)
|
22
|
+
semaphore1 = Redis::Semaphore.new("#{lock_key}-1", resources: 2, stale_client_timeout: stale_client_timeout, redis: redis.dup)
|
23
23
|
semaphore1.lock(timeout) do
|
24
|
-
semaphore2 = Redis::Semaphore.new("#{lock_key}-2", resources: 1, redis: redis.dup)
|
25
24
|
start = Time.now
|
25
|
+
semaphore2 = Redis::Semaphore.new("#{lock_key}-2", resources: 1, stale_client_timeout: stale_client_timeout, redis: redis.dup)
|
26
26
|
semaphore2.lock do
|
27
27
|
yield
|
28
28
|
end
|
data/lib/debounce/version.rb
CHANGED