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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97e29f6a4a7331f347ed7b2645e7873d075e3d1fd59f9c29378d6f317ac5959e
4
- data.tar.gz: c431413bed8a284d93bb535d2ae7aea6b627675dc7fa7524d8e91ebbcd6be5fd
3
+ metadata.gz: 2e7882193fa7169dcb0cb7d20439c0b2d00b5663c05608240d73b135754310df
4
+ data.tar.gz: 96388a14238af3e46e4dba412de145d62802fb3074512fd09d4ca476336c302e
5
5
  SHA512:
6
- metadata.gz: 2c5c2eac0e5d3183247e254840228a7e45dd6e4567b7da036a3b31b50745ed943f8457b8028b215951782f59cb22dfe1fd9f172ffe502eba141000fcf8d97c6f
7
- data.tar.gz: c8452fcfed8babd0e5e922eaee06ad479e32a03d2bdc1417c687794bd3983aba6a5145145b23b21463be7827063a8479c3905da1c55351628fef51170e5d0852
6
+ metadata.gz: b6dff650ca3bd6604cace66a7f0b60f5f440ee45edc8f0da4027efd9bb751d7e116bbc8c8c67df06938080ec7d8d6f3c82262e433387b4d1b22baa3a93afe95f
7
+ data.tar.gz: 032d365fe4a39987e340949b5ce77c47178abb68070279e3b21c1165a85b9dd66c1278ca5471d8bf4bb77079316e9f703abb8e0b9548bebe0bdc79f71ca65360
@@ -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?) ? 0 : 1
93
+ status = handlers.all?(&:success?) ? @exit_code : 1
88
94
  exit status
89
95
  end
90
96
  end
@@ -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.16825
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-27 00:00:00.000000000 Z
11
+ date: 2019-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler