marloss 0.2.1 → 0.3.0

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
  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