async-container 0.27.4 → 0.27.5

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: a81d686d7bcf4debd164fb322e88e4da3bbc9224d5191c49f020d386b996ecf4
4
- data.tar.gz: fd4ff31ee2a1b3b03d4a72b9b73ae1e398bff6966b8b68759c27f0db6972b825
3
+ metadata.gz: b33373c25e8c39d091f9f9013eb12579d08f01c03ec14612767b607041d59688
4
+ data.tar.gz: 2990fa6ab90beb2a67b9bf4ef47c8b8c58590426df73652642d771544c9d15dd
5
5
  SHA512:
6
- metadata.gz: b3ab253a07c2c1878c316d3bd19a6889969741ccaea279dc4e1d9787f1ffd4973445f98f9262b8dfa0d1d30dda0114327226e14696632ec8813ab7648a37e95f
7
- data.tar.gz: bf928811afebfd226c25ca62d368624f6914a283d07470277ee159903694e412268c6e2d2965cbe834ea9205c097ca2d8a78eb8f3664cb6a74fca4fe8c90c9c4
6
+ metadata.gz: 30a81d6c5eede1bf527b9f4493efcd41f2080db091eacb96cfa841cda6c044d52d45bb714dda55009c26bfc1834b18219ff1552116852dc0a7daa7c5a8d34d87
7
+ data.tar.gz: be8f6b931ed89cbef3ae8cf04c73519b3184d47ead5a0d3cbe84fb8b99fb178eb031c482b25b2380936450ae97134b0e2c8362d10b6c293e979b8c356cf32b20
checksums.yaml.gz.sig CHANGED
Binary file
@@ -191,6 +191,8 @@ module Async
191
191
  age_clock = state[:age] = Clock.start
192
192
  end
193
193
 
194
+ status = nil
195
+
194
196
  begin
195
197
  status = @group.wait_for(child) do |message|
196
198
  case message
@@ -203,11 +205,13 @@ module Async
203
205
  age_clock&.reset!
204
206
  end
205
207
  end
208
+ rescue => error
209
+ Console.error(self, "Error during child process management!", exception: error, running: @running)
206
210
  ensure
207
211
  delete(key, child)
208
212
  end
209
213
 
210
- if status.success?
214
+ if status&.success?
211
215
  Console.info(self, "Child exited successfully.", status: status, running: @running)
212
216
  else
213
217
  @statistics.failure!
@@ -220,9 +224,6 @@ module Async
220
224
  break
221
225
  end
222
226
  end
223
- rescue => error
224
- Console.error(self, "Failure during child process management!", exception: error, running: @running)
225
- raise
226
227
  ensure
227
228
  Console.info(self, "Child process management loop exited.", running: @running)
228
229
  end.resume
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Async
7
7
  module Container
8
- VERSION = "0.27.4"
8
+ VERSION = "0.27.5"
9
9
  end
10
10
  end
data/readme.md CHANGED
@@ -26,6 +26,10 @@ Please see the [project documentation](https://socketry.github.io/async-containe
26
26
 
27
27
  Please see the [project releases](https://socketry.github.io/async-container/releases/index) for all releases.
28
28
 
29
+ ### v0.27.5
30
+
31
+ - Make the child handling more robust in the face of exceptions.
32
+
29
33
  ### v0.27.4
30
34
 
31
35
  - Fix race condition where `wait_for` could modify `@running` while it was being iterated over (`each_value`) during health checks.
@@ -64,10 +68,6 @@ Please see the [project releases](https://socketry.github.io/async-container/rel
64
68
 
65
69
  - [Add support for `NOTIFY_LOG` for Kubernetes readiness probes.](https://socketry.github.io/async-container/releases/index#add-support-for-notify_log-for-kubernetes-readiness-probes.)
66
70
 
67
- ### v0.21.0
68
-
69
- - Use `SIGKILL`/`Thread#kill` when the health check fails. In some cases, `SIGTERM` may not be sufficient to terminate a process because the signal can be ignored or the process may be in an uninterruptible state.
70
-
71
71
  ## Contributing
72
72
 
73
73
  We welcome contributions to this project.
data/releases.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Releases
2
2
 
3
+ ## v0.27.5
4
+
5
+ - Make the child handling more robust in the face of exceptions.
6
+
3
7
  ## v0.27.4
4
8
 
5
9
  - Fix race condition where `wait_for` could modify `@running` while it was being iterated over (`each_value`) during health checks.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-container
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.4
4
+ version: 0.27.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
metadata.gz.sig CHANGED
Binary file