rapidity 0.0.7.369741 → 0.0.8.373200
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/Gemfile.lock +1 -1
- data/lib/rapidity/share/base.rb +38 -5
- data/lib/rapidity/version.rb +1 -1
- 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: d3def70e3c5647129987af0c2be0161ec2b848dadbe6cbad46f75b8fea3af67e
|
|
4
|
+
data.tar.gz: 01dd8c0f29563020a1b6f6d0aa0e89ff3d809dbe5694ca257b478b32a8005d12
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: db79ce100ae836e9c992629c23fdb6c163b79e282ec5fbb98bbd60a3709ed85fe0968e61f808f444feb26858fda71a3812e89c429d06215eec2fd050dea045ef
|
|
7
|
+
data.tar.gz: 337db88fdb29d7f6a7a0eb5af05cdf1944a962fab384fcdb8ec1a9968029c2fecbde0cbd186223b08b38d6d6e60e1a1371474c466111bf0b8c867f7cb2cace9a
|
data/Gemfile.lock
CHANGED
data/lib/rapidity/share/base.rb
CHANGED
|
@@ -8,12 +8,15 @@ module Rapidity
|
|
|
8
8
|
BASE_SCRIPTS = [:list, :info, :reset, :delete]
|
|
9
9
|
DEFAULT_KEY_TTL = 6000
|
|
10
10
|
|
|
11
|
+
MX = Monitor.new
|
|
12
|
+
|
|
11
13
|
def initialize(pool, ttl: DEFAULT_KEY_TTL.to_i, logger: nil)
|
|
12
14
|
@pool = pool
|
|
13
15
|
@ttl = ttl
|
|
14
16
|
@logger = logger || Logger.new(STDOUT)
|
|
15
17
|
@logger.level = Logger::DEBUG
|
|
16
18
|
# load_redis_scripts
|
|
19
|
+
restore_lua_hashes
|
|
17
20
|
end
|
|
18
21
|
|
|
19
22
|
# Returns a list of limits matching the pattern
|
|
@@ -154,15 +157,45 @@ module Rapidity
|
|
|
154
157
|
#
|
|
155
158
|
# @return [void]
|
|
156
159
|
def load_redis_scripts
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
cls = self.class
|
|
161
|
+
MX.synchronize do
|
|
162
|
+
@pool.with do |conn|
|
|
163
|
+
list_lua_scripts.each do |script|
|
|
164
|
+
cls.instance_variable_set(lua_script_var(script),
|
|
165
|
+
conn.with {|r| r.script(:load, File.read(File.join(__dir__, 'lua_scripts', "#{script.to_s}.lua"))) }
|
|
166
|
+
)
|
|
167
|
+
end
|
|
162
168
|
end
|
|
163
169
|
end
|
|
170
|
+
restore_lua_hashes
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
# Restore instance script hashes from class cache
|
|
174
|
+
def restore_lua_hashes
|
|
175
|
+
cls = self.class
|
|
176
|
+
list_lua_scripts.each do |script|
|
|
177
|
+
instance_variable_set(lua_script_var(script), cls.instance_variable_get(lua_script_var(script)))
|
|
178
|
+
end
|
|
164
179
|
end
|
|
165
180
|
|
|
181
|
+
|
|
182
|
+
# это для тестов чтобы проверить перезугрузку сриптов
|
|
183
|
+
def reset_lua_scripts
|
|
184
|
+
cls = self.class
|
|
185
|
+
list_lua_scripts.each do |script|
|
|
186
|
+
instance_variable_set(lua_script_var(script), nil)
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
def list_lua_scripts
|
|
191
|
+
(BASE_SCRIPTS + self.class::LUA_SCRIPTS)
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
def lua_script_var(script)
|
|
195
|
+
"@lua_#{script}".to_sym
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
|
|
166
199
|
end
|
|
167
200
|
end
|
|
168
201
|
end
|
data/lib/rapidity/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rapidity
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.8.373200
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yurusov Vlad
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2026-
|
|
12
|
+
date: 2026-05-06 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activesupport
|