main_loop 0.1.2.16825 → 0.1.2.16854
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/main_loop/dispatcher.rb +7 -1
- data/lib/main_loop/loop.rb +6 -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: 2e7882193fa7169dcb0cb7d20439c0b2d00b5663c05608240d73b135754310df
|
4
|
+
data.tar.gz: 96388a14238af3e46e4dba412de145d62802fb3074512fd09d4ca476336c302e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6dff650ca3bd6604cace66a7f0b60f5f440ee45edc8f0da4027efd9bb751d7e116bbc8c8c67df06938080ec7d8d6f3c82262e433387b4d1b22baa3a93afe95f
|
7
|
+
data.tar.gz: 032d365fe4a39987e340949b5ce77c47178abb68070279e3b21c1165a85b9dd66c1278ca5471d8bf4bb77079316e9f703abb8e0b9548bebe0bdc79f71ca65360
|
data/lib/main_loop/dispatcher.rb
CHANGED
@@ -14,6 +14,7 @@ module MainLoop
|
|
14
14
|
@timeout = timeout
|
15
15
|
@handlers = []
|
16
16
|
@logger = logger || Logger.new(nil)
|
17
|
+
@exit_code = 0
|
17
18
|
end
|
18
19
|
|
19
20
|
def reap(statuses)
|
@@ -57,6 +58,11 @@ module MainLoop
|
|
57
58
|
end
|
58
59
|
end
|
59
60
|
|
61
|
+
def crash
|
62
|
+
@exit_code = 3
|
63
|
+
term unless terminating?
|
64
|
+
end
|
65
|
+
|
60
66
|
def tick
|
61
67
|
log_status if logger.debug?
|
62
68
|
return unless terminating?
|
@@ -84,7 +90,7 @@ module MainLoop
|
|
84
90
|
return unless handlers.all?(&:finished?)
|
85
91
|
|
86
92
|
logger.info('All handlers finished exiting...')
|
87
|
-
status = handlers.all?(&:success?) ?
|
93
|
+
status = handlers.all?(&:success?) ? @exit_code : 1
|
88
94
|
exit status
|
89
95
|
end
|
90
96
|
end
|
data/lib/main_loop/loop.rb
CHANGED
@@ -37,6 +37,8 @@ module MainLoop
|
|
37
37
|
case event
|
38
38
|
when 'term'
|
39
39
|
term(event)
|
40
|
+
when 'crash'
|
41
|
+
crash(event)
|
40
42
|
when /sig:/
|
41
43
|
signal(event)
|
42
44
|
when /reap:/
|
@@ -83,6 +85,10 @@ module MainLoop
|
|
83
85
|
@dispatcher.term unless @dispatcher.terminating?
|
84
86
|
end
|
85
87
|
|
88
|
+
def crash(_command)
|
89
|
+
@dispatcher.crash
|
90
|
+
end
|
91
|
+
|
86
92
|
def reap(command)
|
87
93
|
_, id, status = command.split(':')
|
88
94
|
@dispatcher.reap_by_id(id, status)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: main_loop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.2.
|
4
|
+
version: 0.1.2.16854
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samoilenko Yuri
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-09-
|
11
|
+
date: 2019-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|