service_skeleton 0.0.0.20.gb9a0460 → 0.0.0.25.gbf57918
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -8
- data/lib/service_skeleton/config_variables.rb +6 -0
- data/lib/service_skeleton/signal_handler.rb +3 -0
- 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: 89afe58f5f8ce484ee0250284bae409b7d3a4f8f279747d1ee17e575befaa7df
|
4
|
+
data.tar.gz: 2c6cc5ff9cf019be8e8c8258e5713c86090aa62dd2dddda7d10c22fece7a992d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ab638d056ee90b752eb55fe4494fc2c395295413c651ad4e5f7b1b322e611ac02b02caf1c2b782c0518afb120708409ea92ec00f8d8258ef6116b12277e6885
|
7
|
+
data.tar.gz: 73be99a6c35c5885e1e6edbac125ed0998f657421fa0b0a2dff019e468e47d14ae95d55ad6396cf81ddeb46867dea8e0f3b233bda13355d72c88333de90adb9d
|
data/README.md
CHANGED
@@ -146,7 +146,7 @@ that way you can get coerced values (numbers and booleans, rather than strings
|
|
146
146
|
everywhere), range and format checking (say "the number must be between one and
|
147
147
|
ten", or "the string must match this regex"), default values, and error
|
148
148
|
reporting. You also get direct access to the configuration value as a method
|
149
|
-
call on the
|
149
|
+
call on the `config` object.
|
150
150
|
|
151
151
|
To declare configuration variables, simply call one of the "config declaration
|
152
152
|
methods" (as listed in the `ServiceSkeleton::ConfigVariables` module) in your
|
@@ -263,9 +263,9 @@ class method in your service's class definition, like this:
|
|
263
263
|
|
264
264
|
def run
|
265
265
|
loop do
|
266
|
-
|
267
|
-
|
268
|
-
|
266
|
+
puts config.something_funny
|
267
|
+
sleep 1
|
268
|
+
end
|
269
269
|
end
|
270
270
|
end
|
271
271
|
|
@@ -327,7 +327,7 @@ All are all-uppercase, and the `<SERVICENAME>_` portion is the all-uppercase
|
|
327
327
|
override the default log level for messages with a specific progname, by
|
328
328
|
specifying one or more "progname severities" separated by commas. A progname
|
329
329
|
severity looks like this:
|
330
|
-
|
330
|
+
|
331
331
|
<progname>=<severity>
|
332
332
|
|
333
333
|
To make things even more fun, if `<progname>` looks like a regular expression
|
@@ -418,7 +418,7 @@ infinite loop.
|
|
418
418
|
|
419
419
|
To register a metric, use one of the standard metric registration methods from
|
420
420
|
[Prometheus::Client::Registry](https://www.rubydoc.info/gems/prometheus-client/0.8.0/Prometheus/Client/Registry)
|
421
|
-
(`#counter`,
|
421
|
+
(`#counter`, `#gauge`, `#histogram`, `#summary`, or `#register`) on the `metrics`
|
422
422
|
object to create or register the metric.
|
423
423
|
|
424
424
|
In our generic greeter service we've been using as an example so far, you might
|
@@ -451,7 +451,7 @@ on `metrics`. Thus, to increment our greeting counter, you can simply do:
|
|
451
451
|
|
452
452
|
loop do
|
453
453
|
puts "Hello, #{config.recipient}!"
|
454
|
-
|
454
|
+
metrics.greetings_total.increment(recipient: config.recipient)
|
455
455
|
sleep 1
|
456
456
|
end
|
457
457
|
end
|
@@ -470,7 +470,7 @@ before defining the metric accessor method, which keeps typing to a minimum:
|
|
470
470
|
|
471
471
|
loop do
|
472
472
|
puts "Hello, #{config.recipient}!"
|
473
|
-
|
473
|
+
metrics.greetings_total.increment(recipient: config.recipient)
|
474
474
|
sleep 1
|
475
475
|
end
|
476
476
|
end
|
@@ -75,6 +75,12 @@ class ServiceSkeleton
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
+
def path_list(var_name, default: UNDEFINED, sensitive: false)
|
79
|
+
register_variable(var_name, sensitive: sensitive) do |value|
|
80
|
+
value.split(":")
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
78
84
|
private
|
79
85
|
|
80
86
|
def maybe_default(value, default, var_name)
|
@@ -112,6 +112,9 @@ class ServiceSkeleton
|
|
112
112
|
logger.error(logloc) { "Mysterious return from select: #{ios.inspect}" }
|
113
113
|
end
|
114
114
|
end
|
115
|
+
rescue IOError
|
116
|
+
# Something has gone terribly wrong here... bail
|
117
|
+
break
|
115
118
|
rescue StandardError => ex
|
116
119
|
log_exception(ex) { "Exception in select loop" }
|
117
120
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: service_skeleton
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.0.
|
4
|
+
version: 0.0.0.25.gbf57918
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Palmer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: frankenstein
|