triglav-agent 1.0.0.pre2 → 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/docs/Triglav.html +1 -1
- data/docs/Triglav/Agent.html +2 -2
- data/docs/Triglav/Agent/ApiClient.html +82 -20
- data/docs/Triglav/Agent/ApiClient/AuthenticationError.html +1 -1
- data/docs/Triglav/Agent/ApiClient/ConnectionError.html +1 -1
- data/docs/Triglav/Agent/ApiClient/Error.html +1 -1
- data/docs/Triglav/Agent/Base.html +1 -1
- data/docs/Triglav/Agent/Base/CLI.html +21 -19
- data/docs/Triglav/Agent/Base/Connection.html +92 -6
- data/docs/Triglav/Agent/Base/Monitor.html +1 -1
- data/docs/Triglav/Agent/Base/Processor.html +22 -30
- data/docs/Triglav/Agent/Base/Setting.html +65 -63
- data/docs/Triglav/Agent/Base/Worker.html +1 -1
- data/docs/Triglav/Agent/Configuration.html +1 -1
- data/docs/Triglav/Agent/Error.html +1 -1
- data/docs/Triglav/Agent/HashUtil.html +1 -1
- data/docs/Triglav/Agent/LogFormatter.html +1 -1
- data/docs/Triglav/Agent/Logger.html +1 -1
- data/docs/Triglav/Agent/StorageFile.html +1 -1
- data/docs/Triglav/Agent/Timer.html +1 -1
- data/docs/Triglav/Agent/TooManyError.html +1 -1
- data/docs/_index.html +1 -1
- data/docs/file.LICENSE.html +2 -2
- data/docs/file.README.html +1 -1
- data/docs/index.html +1 -1
- data/docs/method_list.html +50 -34
- data/docs/top-level-namespace.html +1 -1
- data/lib/triglav/agent.rb +1 -0
- data/lib/triglav/agent/base/cli.rb +4 -2
- data/lib/triglav/agent/base/processor.rb +4 -1
- data/lib/triglav/agent/base/setting.rb +4 -2
- data/lib/triglav/agent/base/worker.rb +7 -0
- data/lib/triglav/agent/status.rb +68 -0
- data/lib/triglav/agent/storage_file.rb +20 -0
- data/lib/triglav/agent/version.rb +1 -1
- data/triglav-agent.gemspec +2 -2
- metadata +5 -4
@@ -277,7 +277,7 @@
|
|
277
277
|
</div>
|
278
278
|
|
279
279
|
<div id="footer">
|
280
|
-
Generated on
|
280
|
+
Generated on Wed Mar 8 23:12:38 2017 by
|
281
281
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
282
282
|
0.9.5 (ruby-2.3.2).
|
283
283
|
</div>
|
@@ -1120,7 +1120,7 @@
|
|
1120
1120
|
</div>
|
1121
1121
|
|
1122
1122
|
<div id="footer">
|
1123
|
-
Generated on
|
1123
|
+
Generated on Wed Mar 8 23:12:39 2017 by
|
1124
1124
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1125
1125
|
0.9.5 (ruby-2.3.2).
|
1126
1126
|
</div>
|
@@ -414,7 +414,7 @@
|
|
414
414
|
</div>
|
415
415
|
|
416
416
|
<div id="footer">
|
417
|
-
Generated on
|
417
|
+
Generated on Wed Mar 8 23:12:38 2017 by
|
418
418
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
419
419
|
0.9.5 (ruby-2.3.2).
|
420
420
|
</div>
|
@@ -124,7 +124,7 @@
|
|
124
124
|
</div>
|
125
125
|
|
126
126
|
<div id="footer">
|
127
|
-
Generated on
|
127
|
+
Generated on Wed Mar 8 23:12:38 2017 by
|
128
128
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
129
129
|
0.9.5 (ruby-2.3.2).
|
130
130
|
</div>
|
data/docs/_index.html
CHANGED
@@ -325,7 +325,7 @@
|
|
325
325
|
</div>
|
326
326
|
|
327
327
|
<div id="footer">
|
328
|
-
Generated on
|
328
|
+
Generated on Wed Mar 8 23:12:38 2017 by
|
329
329
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
330
330
|
0.9.5 (ruby-2.3.2).
|
331
331
|
</div>
|
data/docs/file.LICENSE.html
CHANGED
@@ -59,10 +59,10 @@
|
|
59
59
|
|
60
60
|
<iframe id="search_frame" src="file_list.html"></iframe>
|
61
61
|
|
62
|
-
<div id="content"><div id='filecontents'>The MIT License (MIT)<br/><br/>Copyright (c) 2016
|
62
|
+
<div id="content"><div id='filecontents'>The MIT License (MIT)<br/><br/>Copyright (c) 2016 Triglav Team<br/><br/>Permission is hereby granted, free of charge, to any person obtaining a copy<br/>of this software and associated documentation files (the "Software"), to deal<br/>in the Software without restriction, including without limitation the rights<br/>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br/>copies of the Software, and to permit persons to whom the Software is<br/>furnished to do so, subject to the following conditions:<br/><br/>The above copyright notice and this permission notice shall be included in<br/>all copies or substantial portions of the Software.<br/><br/>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br/>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br/>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br/>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br/>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br/>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN<br/>THE SOFTWARE.</div></div>
|
63
63
|
|
64
64
|
<div id="footer">
|
65
|
-
Generated on
|
65
|
+
Generated on Wed Mar 8 23:12:38 2017 by
|
66
66
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
67
67
|
0.9.5 (ruby-2.3.2).
|
68
68
|
</div>
|
data/docs/file.README.html
CHANGED
@@ -127,7 +127,7 @@ href="http://opensource.org/licenses/MIT">MIT License</a>.</p>
|
|
127
127
|
</div></div>
|
128
128
|
|
129
129
|
<div id="footer">
|
130
|
-
Generated on
|
130
|
+
Generated on Wed Mar 8 23:12:38 2017 by
|
131
131
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
132
132
|
0.9.5 (ruby-2.3.2).
|
133
133
|
</div>
|
data/docs/index.html
CHANGED
@@ -127,7 +127,7 @@ href="http://opensource.org/licenses/MIT">MIT License</a>.</p>
|
|
127
127
|
</div></div>
|
128
128
|
|
129
129
|
<div id="footer">
|
130
|
-
Generated on
|
130
|
+
Generated on Wed Mar 8 23:12:38 2017 by
|
131
131
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
132
132
|
0.9.5 (ruby-2.3.2).
|
133
133
|
</div>
|
data/docs/method_list.html
CHANGED
@@ -108,6 +108,22 @@
|
|
108
108
|
</li>
|
109
109
|
|
110
110
|
|
111
|
+
<li class="odd ">
|
112
|
+
<div class="item">
|
113
|
+
<span class='object_link'><a href="Triglav/Agent/ApiClient.html#close-instance_method" title="Triglav::Agent::ApiClient#close (method)">#close</a></span>
|
114
|
+
<small>Triglav::Agent::ApiClient</small>
|
115
|
+
</div>
|
116
|
+
</li>
|
117
|
+
|
118
|
+
|
119
|
+
<li class="even ">
|
120
|
+
<div class="item">
|
121
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Connection.html#close-instance_method" title="Triglav::Agent::Base::Connection#close (method)">#close</a></span>
|
122
|
+
<small>Triglav::Agent::Base::Connection</small>
|
123
|
+
</div>
|
124
|
+
</li>
|
125
|
+
|
126
|
+
|
111
127
|
<li class="odd ">
|
112
128
|
<div class="item">
|
113
129
|
<span class='object_link'><a href="Triglav/Agent/Base/Setting.html#config_file-instance_method" title="Triglav::Agent::Base::Setting#config_file (method)">#config_file</a></span>
|
@@ -222,24 +238,24 @@
|
|
222
238
|
|
223
239
|
<li class="odd ">
|
224
240
|
<div class="item">
|
225
|
-
<span class='object_link'><a href="Triglav/Agent/
|
226
|
-
<small>Triglav::Agent::
|
241
|
+
<span class='object_link'><a href="Triglav/Agent/Logger.html#initialize-instance_method" title="Triglav::Agent::Logger#initialize (method)">#initialize</a></span>
|
242
|
+
<small>Triglav::Agent::Logger</small>
|
227
243
|
</div>
|
228
244
|
</li>
|
229
245
|
|
230
246
|
|
231
247
|
<li class="even ">
|
232
248
|
<div class="item">
|
233
|
-
<span class='object_link'><a href="Triglav/Agent/
|
234
|
-
<small>Triglav::Agent::
|
249
|
+
<span class='object_link'><a href="Triglav/Agent/LogFormatter.html#initialize-instance_method" title="Triglav::Agent::LogFormatter#initialize (method)">#initialize</a></span>
|
250
|
+
<small>Triglav::Agent::LogFormatter</small>
|
235
251
|
</div>
|
236
252
|
</li>
|
237
253
|
|
238
254
|
|
239
255
|
<li class="odd ">
|
240
256
|
<div class="item">
|
241
|
-
<span class='object_link'><a href="Triglav/Agent/Base/
|
242
|
-
<small>Triglav::Agent::Base::
|
257
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Worker.html#initialize-instance_method" title="Triglav::Agent::Base::Worker#initialize (method)">#initialize</a></span>
|
258
|
+
<small>Triglav::Agent::Base::Worker</small>
|
243
259
|
</div>
|
244
260
|
</li>
|
245
261
|
|
@@ -254,48 +270,48 @@
|
|
254
270
|
|
255
271
|
<li class="odd ">
|
256
272
|
<div class="item">
|
257
|
-
<span class='object_link'><a href="Triglav/Agent/
|
258
|
-
<small>Triglav::Agent::
|
273
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Monitor.html#initialize-instance_method" title="Triglav::Agent::Base::Monitor#initialize (method)">#initialize</a></span>
|
274
|
+
<small>Triglav::Agent::Base::Monitor</small>
|
259
275
|
</div>
|
260
276
|
</li>
|
261
277
|
|
262
278
|
|
263
279
|
<li class="even ">
|
264
280
|
<div class="item">
|
265
|
-
<span class='object_link'><a href="Triglav/Agent/
|
266
|
-
<small>Triglav::Agent::
|
281
|
+
<span class='object_link'><a href="Triglav/Agent/Timer.html#initialize-instance_method" title="Triglav::Agent::Timer#initialize (method)">#initialize</a></span>
|
282
|
+
<small>Triglav::Agent::Timer</small>
|
267
283
|
</div>
|
268
284
|
</li>
|
269
285
|
|
270
286
|
|
271
287
|
<li class="odd ">
|
272
288
|
<div class="item">
|
273
|
-
<span class='object_link'><a href="Triglav/Agent/Base/
|
274
|
-
<small>Triglav::Agent::Base::
|
289
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Setting.html#initialize-instance_method" title="Triglav::Agent::Base::Setting#initialize (method)">#initialize</a></span>
|
290
|
+
<small>Triglav::Agent::Base::Setting</small>
|
275
291
|
</div>
|
276
292
|
</li>
|
277
293
|
|
278
294
|
|
279
295
|
<li class="even ">
|
280
296
|
<div class="item">
|
281
|
-
<span class='object_link'><a href="Triglav/Agent/
|
282
|
-
<small>Triglav::Agent::
|
297
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Connection.html#initialize-instance_method" title="Triglav::Agent::Base::Connection#initialize (method)">#initialize</a></span>
|
298
|
+
<small>Triglav::Agent::Base::Connection</small>
|
283
299
|
</div>
|
284
300
|
</li>
|
285
301
|
|
286
302
|
|
287
303
|
<li class="odd ">
|
288
304
|
<div class="item">
|
289
|
-
<span class='object_link'><a href="Triglav/Agent/
|
290
|
-
<small>Triglav::Agent::
|
305
|
+
<span class='object_link'><a href="Triglav/Agent/ApiClient.html#initialize-instance_method" title="Triglav::Agent::ApiClient#initialize (method)">#initialize</a></span>
|
306
|
+
<small>Triglav::Agent::ApiClient</small>
|
291
307
|
</div>
|
292
308
|
</li>
|
293
309
|
|
294
310
|
|
295
311
|
<li class="even ">
|
296
312
|
<div class="item">
|
297
|
-
<span class='object_link'><a href="Triglav/Agent/
|
298
|
-
<small>Triglav::Agent::
|
313
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Processor.html#initialize-instance_method" title="Triglav::Agent::Base::Processor#initialize (method)">#initialize</a></span>
|
314
|
+
<small>Triglav::Agent::Base::Processor</small>
|
299
315
|
</div>
|
300
316
|
</li>
|
301
317
|
|
@@ -310,7 +326,7 @@
|
|
310
326
|
|
311
327
|
<li class="even ">
|
312
328
|
<div class="item">
|
313
|
-
<span class='object_link'><a href="Triglav/Agent/StorageFile.html#load-
|
329
|
+
<span class='object_link'><a href="Triglav/Agent/StorageFile.html#load-instance_method" title="Triglav::Agent::StorageFile#load (method)">#load</a></span>
|
314
330
|
<small>Triglav::Agent::StorageFile</small>
|
315
331
|
</div>
|
316
332
|
</li>
|
@@ -318,7 +334,7 @@
|
|
318
334
|
|
319
335
|
<li class="odd ">
|
320
336
|
<div class="item">
|
321
|
-
<span class='object_link'><a href="Triglav/Agent/StorageFile.html#load-
|
337
|
+
<span class='object_link'><a href="Triglav/Agent/StorageFile.html#load-class_method" title="Triglav::Agent::StorageFile.load (method)">load</a></span>
|
322
338
|
<small>Triglav::Agent::StorageFile</small>
|
323
339
|
</div>
|
324
340
|
</li>
|
@@ -414,24 +430,24 @@
|
|
414
430
|
|
415
431
|
<li class="odd ">
|
416
432
|
<div class="item">
|
417
|
-
<span class='object_link'><a href="Triglav/Agent/Base/
|
418
|
-
<small>Triglav::Agent::Base::
|
433
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Worker.html#process-instance_method" title="Triglav::Agent::Base::Worker#process (method)">#process</a></span>
|
434
|
+
<small>Triglav::Agent::Base::Worker</small>
|
419
435
|
</div>
|
420
436
|
</li>
|
421
437
|
|
422
438
|
|
423
439
|
<li class="even ">
|
424
440
|
<div class="item">
|
425
|
-
<span class='object_link'><a href="Triglav/Agent/Base/
|
426
|
-
<small>Triglav::Agent::Base::
|
441
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Processor.html#process-instance_method" title="Triglav::Agent::Base::Processor#process (method)">#process</a></span>
|
442
|
+
<small>Triglav::Agent::Base::Processor</small>
|
427
443
|
</div>
|
428
444
|
</li>
|
429
445
|
|
430
446
|
|
431
447
|
<li class="odd ">
|
432
448
|
<div class="item">
|
433
|
-
<span class='object_link'><a href="Triglav/Agent/Base/
|
434
|
-
<small>Triglav::Agent::Base::
|
449
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Monitor.html#process-instance_method" title="Triglav::Agent::Base::Monitor#process (method)">#process</a></span>
|
450
|
+
<small>Triglav::Agent::Base::Monitor</small>
|
435
451
|
</div>
|
436
452
|
</li>
|
437
453
|
|
@@ -454,16 +470,16 @@
|
|
454
470
|
|
455
471
|
<li class="even ">
|
456
472
|
<div class="item">
|
457
|
-
<span class='object_link'><a href="Triglav/Agent/Base/
|
458
|
-
<small>Triglav::Agent::Base::
|
473
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Worker.html#reload-instance_method" title="Triglav::Agent::Base::Worker#reload (method)">#reload</a></span>
|
474
|
+
<small>Triglav::Agent::Base::Worker</small>
|
459
475
|
</div>
|
460
476
|
</li>
|
461
477
|
|
462
478
|
|
463
479
|
<li class="odd ">
|
464
480
|
<div class="item">
|
465
|
-
<span class='object_link'><a href="Triglav/Agent/Base/
|
466
|
-
<small>Triglav::Agent::Base::
|
481
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Setting.html#reload-instance_method" title="Triglav::Agent::Base::Setting#reload (method)">#reload</a></span>
|
482
|
+
<small>Triglav::Agent::Base::Setting</small>
|
467
483
|
</div>
|
468
484
|
</li>
|
469
485
|
|
@@ -574,16 +590,16 @@
|
|
574
590
|
|
575
591
|
<li class="odd ">
|
576
592
|
<div class="item">
|
577
|
-
<span class='object_link'><a href="Triglav/Agent/
|
578
|
-
<small>Triglav::Agent::
|
593
|
+
<span class='object_link'><a href="Triglav/Agent/Base/Worker.html#stop-instance_method" title="Triglav::Agent::Base::Worker#stop (method)">#stop</a></span>
|
594
|
+
<small>Triglav::Agent::Base::Worker</small>
|
579
595
|
</div>
|
580
596
|
</li>
|
581
597
|
|
582
598
|
|
583
599
|
<li class="even ">
|
584
600
|
<div class="item">
|
585
|
-
<span class='object_link'><a href="Triglav/Agent/
|
586
|
-
<small>Triglav::Agent::
|
601
|
+
<span class='object_link'><a href="Triglav/Agent/Timer.html#stop-instance_method" title="Triglav::Agent::Timer#stop (method)">#stop</a></span>
|
602
|
+
<small>Triglav::Agent::Timer</small>
|
587
603
|
</div>
|
588
604
|
</li>
|
589
605
|
|
@@ -102,7 +102,7 @@
|
|
102
102
|
</div>
|
103
103
|
|
104
104
|
<div id="footer">
|
105
|
-
Generated on
|
105
|
+
Generated on Wed Mar 8 23:12:38 2017 by
|
106
106
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
107
107
|
0.9.5 (ruby-2.3.2).
|
108
108
|
</div>
|
data/lib/triglav/agent.rb
CHANGED
@@ -7,8 +7,10 @@ module Triglav::Agent
|
|
7
7
|
module Base
|
8
8
|
# A base class for cli option parser
|
9
9
|
#
|
10
|
-
#
|
11
|
-
#
|
10
|
+
# You usually do not need to customize this class, but if you want to
|
11
|
+
# implement your original, configure
|
12
|
+
#
|
13
|
+
# Triglav::Agent::Configuration.cli_class =
|
12
14
|
class CLI
|
13
15
|
def run
|
14
16
|
opts, _ = parse_options(ARGV)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'parallel'
|
2
2
|
require 'connection_pool'
|
3
|
+
require 'triglav/agent/status'
|
3
4
|
|
4
5
|
module Triglav::Agent
|
5
6
|
module Base
|
@@ -32,7 +33,7 @@ module Triglav::Agent
|
|
32
33
|
events = nil
|
33
34
|
begin
|
34
35
|
@connection_pool.with do |connection|
|
35
|
-
monitor = monitor_class.new(connection, resource)
|
36
|
+
monitor = monitor_class.new(connection, resource_uri_prefix, resource)
|
36
37
|
monitor.process do |_events|
|
37
38
|
events = _events
|
38
39
|
$logger.info { "send_messages:#{events.map(&:to_hash).to_json}" }
|
@@ -69,6 +70,8 @@ module Triglav::Agent
|
|
69
70
|
@api_client_pool = ConnectionPool.new(connection_pool_opts) {
|
70
71
|
ApiClient.new # renew connection
|
71
72
|
}
|
73
|
+
resource_uris = resources.map {|resource| resource.uri.to_sym }
|
74
|
+
Status.select_resource_uris!(resource_uri_prefix, resource_uris)
|
72
75
|
@mutex = Mutex.new
|
73
76
|
end
|
74
77
|
|
@@ -7,8 +7,10 @@ module Triglav::Agent
|
|
7
7
|
module Base
|
8
8
|
# A base class represents settings coming from config.yml and cli options
|
9
9
|
#
|
10
|
-
#
|
11
|
-
#
|
10
|
+
# You usually do not need to customize this class, but if you want to
|
11
|
+
# implement your original, configure
|
12
|
+
#
|
13
|
+
# Triglav::Agent::Configuration.setting_class =
|
12
14
|
class Setting
|
13
15
|
attr_reader :cli_options
|
14
16
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'triglav/agent/timer'
|
2
|
+
require 'triglav/agent/status'
|
2
3
|
|
3
4
|
module Triglav::Agent
|
4
5
|
module Base
|
@@ -12,12 +13,14 @@ module Triglav::Agent
|
|
12
13
|
# serverengine interface
|
13
14
|
def initialize
|
14
15
|
@timer = Timer.new
|
16
|
+
reload_status
|
15
17
|
end
|
16
18
|
|
17
19
|
# serverengine interface
|
18
20
|
def reload
|
19
21
|
$logger.info { "Worker#reload worker_id:#{worker_id}" }
|
20
22
|
$setting.reload
|
23
|
+
reload_status
|
21
24
|
end
|
22
25
|
|
23
26
|
# serverengine interface
|
@@ -71,6 +74,10 @@ module Triglav::Agent
|
|
71
74
|
|
72
75
|
private
|
73
76
|
|
77
|
+
def reload_status
|
78
|
+
Triglav::Agent::Status.select_resource_uri_prefixes!(resource_uri_prefixes)
|
79
|
+
end
|
80
|
+
|
74
81
|
def processor_class
|
75
82
|
Configuration.processor_class
|
76
83
|
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require_relative 'storage_file'
|
2
|
+
require 'set'
|
3
|
+
|
4
|
+
module Triglav::Agent
|
5
|
+
class Status
|
6
|
+
attr_accessor :path
|
7
|
+
attr_reader :resource_uri_prefix, :resource_uri
|
8
|
+
|
9
|
+
VERSION = :v1
|
10
|
+
|
11
|
+
def initialize(resource_uri_prefix, resource_uri)
|
12
|
+
@path = $setting.status_file
|
13
|
+
@resource_uri_prefix = resource_uri_prefix.to_sym
|
14
|
+
@resource_uri = resource_uri.to_sym
|
15
|
+
@parents = [VERSION, @resource_uri_prefix, @resource_uri]
|
16
|
+
end
|
17
|
+
|
18
|
+
# set(val)
|
19
|
+
# set(key, val)
|
20
|
+
# set(key1, key2, val)
|
21
|
+
# set([key], val)
|
22
|
+
# set([key1, key2], val)
|
23
|
+
def set(*args)
|
24
|
+
val = args.pop
|
25
|
+
keys = args.flatten
|
26
|
+
StorageFile.set(path, [*@parents, *keys], val)
|
27
|
+
end
|
28
|
+
|
29
|
+
# setnx(val)
|
30
|
+
# setnx(key, val)
|
31
|
+
# setnx(key1, key2, val)
|
32
|
+
# setnx([key], val)
|
33
|
+
# setnx([key1, key2], val)
|
34
|
+
def setnx(*args)
|
35
|
+
val = args.pop
|
36
|
+
keys = args.flatten
|
37
|
+
StorageFile.setnx(path, [*@parents, *keys], val)
|
38
|
+
end
|
39
|
+
|
40
|
+
# getsetnx(val)
|
41
|
+
# getsetnx(key, val)
|
42
|
+
# getsetnx(key1, key2, val)
|
43
|
+
# getsetnx([key], val)
|
44
|
+
# getsetnx([key1, key2], val)
|
45
|
+
def getsetnx(*args)
|
46
|
+
val = args.pop
|
47
|
+
keys = args.flatten
|
48
|
+
StorageFile.getsetnx(path, [*@parents, *keys], val)
|
49
|
+
end
|
50
|
+
|
51
|
+
# get(key)
|
52
|
+
# get(key1, key2)
|
53
|
+
# get([key])
|
54
|
+
# get([key1, key2])
|
55
|
+
def get(*args)
|
56
|
+
keys = (args || []).flatten
|
57
|
+
StorageFile.get(path, [*@parents, *keys])
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.select_resource_uri_prefixes!(resource_uri_prefixes)
|
61
|
+
Triglav::Agent::StorageFile.select!($setting.status_file, [VERSION], resource_uri_prefixes.map(&:to_sym))
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.select_resource_uris!(resource_uri_prefix, resource_uris)
|
65
|
+
Triglav::Agent::StorageFile.select!($setting.status_file, [VERSION, resource_uri_prefix.to_sym], resource_uris.map(&:to_sym))
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|