semian 0.25.5 → 0.26.5
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 +4 -4
- data/lib/semian/version.rb +1 -1
- data/lib/semian.rb +19 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20f2ab860d074c5420db9d4a5ec675307fdf046c4ad06d3aab227273b7a3716c
|
4
|
+
data.tar.gz: 25e865fa1a72948765a572a20ccfbdea783c4940fd245bf18f281af8a2351f54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8dbe833518cadd4083cb104554add1f1e0b506d02f92b8b55dbc763ff822e5e5fdf22633b3de415fde54ba56780c5ea2e2aae88bd08d7367d5fa5e10ea58d33
|
7
|
+
data.tar.gz: a126b289713f04a264a7a8e24e25fa1b7cd964477a22ec5f62696710c79abb9f6e73c74ef71ed77e7d05665d79ea67b53bc598d0c8b2a837eef8f8a75b608e71
|
data/lib/semian/version.rb
CHANGED
data/lib/semian.rb
CHANGED
@@ -104,7 +104,7 @@ module Semian
|
|
104
104
|
OpenCircuitError = Class.new(BaseError)
|
105
105
|
SemaphoreMissingError = Class.new(BaseError)
|
106
106
|
|
107
|
-
attr_accessor :maximum_lru_size, :minimum_lru_time, :default_permissions, :namespace, :default_force_config_validation
|
107
|
+
attr_accessor :maximum_lru_size, :minimum_lru_time, :default_permissions, :namespace, :default_force_config_validation
|
108
108
|
|
109
109
|
self.maximum_lru_size = 500
|
110
110
|
self.minimum_lru_time = 300 # 300 seconds / 5 minutes
|
@@ -123,9 +123,6 @@ module Semian
|
|
123
123
|
@thread_safe = thread_safe
|
124
124
|
end
|
125
125
|
|
126
|
-
self.resources = LRUHash.new
|
127
|
-
self.consumers = Concurrent::Map.new
|
128
|
-
|
129
126
|
@reset_mutex = Mutex.new
|
130
127
|
|
131
128
|
def issue_disabled_semaphores_warning
|
@@ -265,8 +262,8 @@ module Semian
|
|
265
262
|
|
266
263
|
def reset!
|
267
264
|
@reset_mutex.synchronize do
|
268
|
-
|
269
|
-
|
265
|
+
@consumers = Concurrent::Map.new
|
266
|
+
@resources = LRUHash.new
|
270
267
|
end
|
271
268
|
end
|
272
269
|
|
@@ -285,6 +282,22 @@ module Semian
|
|
285
282
|
thread.thread_variable_set(THREAD_BULKHEAD_DISABLED_VAR, old_value)
|
286
283
|
end
|
287
284
|
|
285
|
+
def resources
|
286
|
+
return @resources if defined?(@resources) && @resources
|
287
|
+
|
288
|
+
@reset_mutex.synchronize do
|
289
|
+
@resources ||= LRUHash.new
|
290
|
+
end
|
291
|
+
end
|
292
|
+
|
293
|
+
def consumers
|
294
|
+
return @consumers if defined?(@consumers) && @consumers
|
295
|
+
|
296
|
+
@reset_mutex.synchronize do
|
297
|
+
@consumers ||= Concurrent::Map.new
|
298
|
+
end
|
299
|
+
end
|
300
|
+
|
288
301
|
private
|
289
302
|
|
290
303
|
def create_circuit_breaker(name, **options)
|