Skip to content

Simplify container supervision using Async#62

Open
samuel-williams-shopify wants to merge 20 commits into
mainfrom
simplify-with-async
Open

Simplify container supervision using Async#62
samuel-williams-shopify wants to merge 20 commits into
mainfrom
simplify-with-async

Conversation

@samuel-williams-shopify

Copy link
Copy Markdown
Contributor

Summary

  • Replace the internal Group fiber/IO.select loop with an Async-backed supervision registry.
  • Move Generic#spawn supervision onto Async tasks while preserving the public container API.
  • Fork child processes from a short-lived thread to avoid inheriting parent scheduler state.
  • Add compatibility coverage for manual container usage with Async { container.wait }.
  • Rewrite Group tests around behavior instead of the old IO => Fiber internals.

Notes

This is a first simplification pass. It keeps the existing notification-pipe-driven transition to child.wait for compatibility, but the next internal simplification can make Process.wait/Thread#join the source of truth and run notification reading plus health checks alongside it.

Tests

  • bundle exec sus (170 passed out of 170 total)

Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Assisted-By: devx/3236e566-7538-432e-a30a-2bdf37265ed4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant