semian 0.25.2 → 0.25.4
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/configuration_validator.rb +2 -1
- data/lib/semian/redis_client.rb +1 -0
- data/lib/semian/version.rb +1 -1
- data/lib/semian.rb +5 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4179609ac096cef76c5e8492229c7c374d1dbc26ae8c758ae79e18ab9595813
|
4
|
+
data.tar.gz: f6fe881485adcb7142e33d1bcb4036f3adc782c357f5c865aa2d67a97878118b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5254f05b90dc20305c6cc0ee855d3a0593fe13f95648a523c281cdd9ac9056e138a124947137b028647dbc8b9b0c049fd387e8c5562032a5a5be622793f6741d
|
7
|
+
data.tar.gz: 5de64c3000d0f5d59d68df7ff4d67ecaee233c6528bb1498648f960bcd59dc6b43e543baf12a6e7927eabc0392bb44c2c1dbeb1d55861ef1a2515cb3f09cc32e
|
@@ -10,7 +10,7 @@ module Semian
|
|
10
10
|
|
11
11
|
unless @force_config_validation
|
12
12
|
Semian.logger.info(
|
13
|
-
"Semian is running in log-mode for configuration validation. This means that Semian will not raise an error if the configuration is invalid. This is not recommended for production environments.\n\n[IMPORTANT] PLEASE UPDATE YOUR CONFIGURATION TO USE `force_config_validation: true` TO ENABLE STRICT CONFIGURATION VALIDATION.\n---\n",
|
13
|
+
"Semian Resource #{@name} is running in log-mode for configuration validation. This means that Semian will not raise an error if the configuration is invalid. This is not recommended for production environments.\n\n[IMPORTANT] PLEASE UPDATE YOUR CONFIGURATION TO USE `force_config_validation: true` TO ENABLE STRICT CONFIGURATION VALIDATION.\n---\n",
|
14
14
|
)
|
15
15
|
end
|
16
16
|
end
|
@@ -29,6 +29,7 @@ module Semian
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def raise_or_log_validation_required!(message)
|
32
|
+
message = "Semian Resource #{@name}: #{message}"
|
32
33
|
if @force_config_validation
|
33
34
|
raise ArgumentError, message
|
34
35
|
else
|
data/lib/semian/redis_client.rb
CHANGED
@@ -126,6 +126,7 @@ module Semian
|
|
126
126
|
|
127
127
|
module RedisClientPool
|
128
128
|
include RedisClientCommon
|
129
|
+
|
129
130
|
define_method(:semian_resource, Semian::Adapter.instance_method(:semian_resource))
|
130
131
|
define_method(:clear_semian_resource, Semian::Adapter.instance_method(:clear_semian_resource))
|
131
132
|
end
|
data/lib/semian/version.rb
CHANGED
data/lib/semian.rb
CHANGED
@@ -199,9 +199,9 @@ module Semian
|
|
199
199
|
# If consumer who retrieved / registered by a Semian::Adapter, keep track
|
200
200
|
# of who the consumer was so that we can clear the resource reference if needed.
|
201
201
|
consumer = args.delete(:consumer)
|
202
|
-
if consumer&.class&.include?(Semian::Adapter)
|
203
|
-
consumers[name] ||=
|
204
|
-
|
202
|
+
if consumer&.class&.include?(Semian::Adapter) && !args[:dynamic]
|
203
|
+
consumer_set = (consumers[name] ||= ObjectSpace::WeakMap.new)
|
204
|
+
consumer_set[consumer] = true
|
205
205
|
end
|
206
206
|
self[name] || register(name, **args)
|
207
207
|
end
|
@@ -233,14 +233,8 @@ module Semian
|
|
233
233
|
resource = resources.delete(name)
|
234
234
|
if resource
|
235
235
|
resource.bulkhead&.unregister_worker
|
236
|
-
consumers_for_resource = consumers.delete(name) ||
|
237
|
-
consumers_for_resource.
|
238
|
-
if consumer.weakref_alive?
|
239
|
-
consumer.clear_semian_resource
|
240
|
-
end
|
241
|
-
rescue WeakRef::RefError
|
242
|
-
next
|
243
|
-
end
|
236
|
+
consumers_for_resource = consumers.delete(name) || {}
|
237
|
+
consumers_for_resource.each_key(&:clear_semian_resource)
|
244
238
|
end
|
245
239
|
end
|
246
240
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: semian
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.25.
|
4
|
+
version: 0.25.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Francis
|
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: '0'
|
80
80
|
requirements: []
|
81
|
-
rubygems_version: 3.7.
|
81
|
+
rubygems_version: 3.7.2
|
82
82
|
specification_version: 4
|
83
83
|
summary: Bulkheading for Ruby with SysV semaphores
|
84
84
|
test_files: []
|