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 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