main_loop 0.1.2.16825 → 0.1.2.16854
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/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
|