marloss 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41efcd04ed19eafd83e94aaa9ded134ebaa84e275a562c8746f6fbaf716f2e8d
4
- data.tar.gz: 71311d210749c7b4d2d39e7fe4cfc12665676ddcad8dd47beda67e2049442fa9
3
+ metadata.gz: 3ae07afe91d9f8991ee6f16ac5f0bc73d90373b3a358f56bc5941435c1b4ac88
4
+ data.tar.gz: 92ae1c2485e09183222b257d5dfd48ad7b11aede6a83332f2f6f6b00a7c76259
5
5
  SHA512:
6
- metadata.gz: ebc4c452c40c2eec9c14cc6aecafc5ddd83542b329ea9783420eb67a972c1d96af10e025916b10850bb1d808ae9565030b6758adc8553b2844dce499bec260b6
7
- data.tar.gz: d84d45f8ea1a85ad6619553b857c6f2c9e6020590031c36a9e367e66dc6e6263a48a36c8f7fad8d5d170141fd1271d739f83742cebcd56ca8c940e820c928a08
6
+ metadata.gz: ac62d5a1dce8b8ef243c2a9b57295a10d6382dfa5ede24a709b65bc6c91073a45007c6e6f2b7076fc613971bc5dd31458761075110c58442b4f01f9121c6c6a3
7
+ data.tar.gz: ec898a131cccd2c4e6c1f0ce246f9f745c4ba2d2178ad060779760d424f454900305176fe19df41878967aba14ad7c8abbe0e920d15f124a466590be20545c64
@@ -1,3 +1,9 @@
1
+ ## 0.3.0 29/11/2017
2
+
3
+ IMPROVEMENTS:
4
+
5
+ * remove `with_refreshed_lock` as is not safe [#4](https://github.com/eredi93/marloss/pull/4)
6
+
1
7
  ## 0.2.1 29/11/2017
2
8
 
3
9
  IMPROVEMENTS:
data/README.md CHANGED
@@ -48,16 +48,11 @@ end
48
48
  now you can simply wrap the code that needs to be locked
49
49
 
50
50
  ```ruby
51
- with_marloss_locker("my_lock")
52
- # execute code
53
- end
54
- ```
55
-
56
- if you have a long running task and you need to make sure you don't lose the lock
57
-
58
- ```ruby
59
- with_refreshed_marloss_locker("my_lock")
51
+ with_marloss_locker("my_lock") do |locker|
60
52
  # execute code
53
+ # ...
54
+ # refresh lock if needed
55
+ locker.refresh
61
56
  end
62
57
  ```
63
58
 
@@ -83,11 +78,6 @@ locker.wait_until_lock_obtained
83
78
  # refresh the lock once
84
79
  locker.refresh
85
80
 
86
- # or execute block with lock being refreshed
87
- locker.with_refreshed_lock do
88
- # execute long running code
89
- end
90
-
91
81
  # delete the lock
92
82
  locker.release_lock
93
83
  ```
@@ -56,17 +56,7 @@ module Marloss
56
56
 
57
57
  locker.wait_until_lock_obtained(opts)
58
58
 
59
- yield
60
-
61
- locker.release_lock
62
- end
63
-
64
- def with_refreshed_marloss_locker(name, opts = {})
65
- locker = marloss_locker(name)
66
-
67
- locker.wait_until_lock_obtained(opts)
68
-
69
- locker.with_refreshed_lock { yield }
59
+ yield(locker)
70
60
 
71
61
  locker.release_lock
72
62
  end
@@ -29,24 +29,5 @@ module Marloss
29
29
  retry
30
30
  end
31
31
 
32
- def with_refreshed_lock
33
- thr = Thread.new do
34
- loop do
35
- begin
36
- store.refresh_lock(name)
37
- rescue Exception => e
38
- Thread.main.raise(e)
39
- end
40
-
41
- sleep(store.ttl / 3.0)
42
- end
43
- end
44
-
45
- yield
46
-
47
- ensure
48
- thr.kill
49
- end
50
-
51
32
  end
52
33
  end
@@ -2,6 +2,6 @@
2
2
  #
3
3
  module Marloss
4
4
 
5
- VERSION = "0.2.1"
5
+ VERSION = "0.3.0"
6
6
 
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marloss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacopo Scrinzi