Background steps execution engine - #4476
Merged
Merged
Conversation
lokesh755
force-pushed
the
lokesh755-background-steps-engine
branch
from
June 4, 2026 03:11
955429e to
13594a5
Compare
lokesh755
force-pushed
the
lokesh755-thread-safety-primitives-background-stepps
branch
from
June 4, 2026 03:25
becd2c1 to
b88b481
Compare
lokesh755
force-pushed
the
lokesh755-background-steps-engine
branch
2 times, most recently
from
June 4, 2026 15:26
4fbc66b to
95ab648
Compare
lokesh755
marked this pull request as ready for review
June 4, 2026 15:26
TingluoHuang
reviewed
Jun 4, 2026
lokesh755
force-pushed
the
lokesh755-thread-safety-primitives-background-stepps
branch
from
June 4, 2026 17:52
b88b481 to
5007995
Compare
Base automatically changed from
lokesh755-thread-safety-primitives-background-stepps
to
main
June 4, 2026 18:08
lokesh755
force-pushed
the
lokesh755-background-steps-engine
branch
from
June 4, 2026 18:27
95ab648 to
5a09827
Compare
lokesh755
force-pushed
the
lokesh755-background-steps-engine
branch
from
June 4, 2026 18:28
5a09827 to
265b98d
Compare
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
lokesh755
force-pushed
the
lokesh755-background-steps-engine
branch
from
June 4, 2026 18:37
265b98d to
c89cec5
Compare
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
TingluoHuang
reviewed
Jun 4, 2026
Summary
Adds the core background step execution engine to the runner, enabling concurrent step execution within a single job. Background steps (
background: true) run asynchronously while the foreground step loop continues. Control-flow steps (wait,wait-all,cancel) coordinate synchronization and lifecycle management.Changes
New files
BackgroundStepCoordinator.cs— Coordinates background step execution, waiting, cancellation, and deferred state flushing. Manages a concurrency semaphore (default max 10).ControlFlowStepData.cs— Data class for wait/wait-all/cancel steps.BackgroundStepsL0.cs— Unit tests for background step coordination, waiting, cancellation, and failure propagation.Modified files
StepsRunner.cs— IntegratesBackgroundStepCoordinator; background steps are queued without blocking the main loop; control-flow steps are dispatched directly; implicit wait-all runs before post-hooks as a safety net.JobExtension.cs— Initializes control-flow steps fromBackgroundStepControlpipeline type; maps logical step IDs to external IDs for UI reference; creates implicit wait-all for uncovered background steps.ExecutionContext.cs— Adds background step metadata as optional parameters toCreateChildKey design decisions