Elixir Task.async_stream: Bounded Concurrency, Fault Isolation, and Back-Pressure
Use Elixir Task.Supervisor and Task.async_stream to process large datasets with capped concurrency, fault isolation, and supervised task ownership.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Use Elixir Task.Supervisor and Task.async_stream to process large datasets with capped concurrency, fault isolation, and supervised task ownership.
A service starts background work with Task.Supervisor.async/2 and waits for results with Task.await/2 using a timeout. When the timeout elapses, the caller exits with :timeout , but the supervised task keeps running because Task.Supervisor children are not linked to the caller. The goal is to stop the background task once the await times out. BEAM does not p