redis_lock 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 61c884d3d8d49471ef1e435f294296691d7c093c
4
- data.tar.gz: d6de74dedf9bc0b18a4711948dc4a3b029526bfa
3
+ metadata.gz: be7ac8c0aec7de8f0d4d6a86b4a1455a6f9aef61
4
+ data.tar.gz: 9861b4a0a873da471fac752e00ff426821f03715
5
5
  SHA512:
6
- metadata.gz: 1b09609658479ead559fd9e868cfdc3ec472a3284708a880a52a5db57179e48ba1cd04ea3516c4d4ef39fe5de8e404c5154df1ffce6e050f24951a02cbe17f3a
7
- data.tar.gz: a8f50a8a1dab96d244ee8a223270d22bfe6d48477bb8f3980f885bc6920b4b0b64b9769706919e0708e0b553fb49f1d4e7166dcf70ab4d750fee8ecfb81233ef
6
+ metadata.gz: 499d274f428e55d2db225f5cd92caab91b79533aaf090217b38dbc5d4dd515ff254fc9227ee6bef79ecb366e37758d476c685d41040c52e14970559418c3aa68
7
+ data.tar.gz: 6c239f00a424665dc5e075779685f3206faf9cf0b199dcd025e9c6ec3a76df22c42cd1cc66fdb5430fabeaff581eef3a593e090acab61c8a2d19daccfc9f1c2f
@@ -1,3 +1,3 @@
1
1
  class RedisLock
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/lib/redis_lock.rb CHANGED
@@ -58,9 +58,7 @@ class RedisLock
58
58
  sleep (args[:wait] || 3)
59
59
  end
60
60
  set(ttl, set_opts)
61
- out = _perform(&block)
62
- unlock!
63
- out
61
+ _semaphore_perform(&block)
64
62
  end
65
63
 
66
64
  def if_open(args = {}, &block)
@@ -107,6 +105,16 @@ class RedisLock
107
105
  new(key, inst_opts)
108
106
  end
109
107
 
108
+ def _semaphore_perform(&block)
109
+ yield self
110
+ rescue => e
111
+ config.logger.error "[#{self.class}] key: `#{key}` error:"
112
+ config.logger.error e
113
+ raise e
114
+ ensure
115
+ unlock!
116
+ end
117
+
110
118
  def _perform(&block)
111
119
  yield self
112
120
  rescue => e
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_lock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artur Pañach
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-27 00:00:00.000000000 Z
11
+ date: 2018-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler