pub struct ScatterGatherRunner { /* private fields */ }Expand description
Runs scatter/gather pipelines.
The dispatcher is used for pre_scatter, post_gather, and parallel worker command execution. This enables scatter blocks to run user tools, scripts, and external commands — not just builtins.
Implementations§
Source§impl ScatterGatherRunner
impl ScatterGatherRunner
Sourcepub fn new(
tools: Arc<ToolRegistry>,
dispatcher: Arc<dyn CommandDispatcher>,
) -> Self
pub fn new( tools: Arc<ToolRegistry>, dispatcher: Arc<dyn CommandDispatcher>, ) -> Self
Create a new scatter/gather runner with the given dispatcher.
The dispatcher handles the full command resolution chain for all pipeline stages (pre_scatter, parallel workers, post_gather).
Sourcepub async fn run(
&self,
pre_scatter: &[Command],
scatter_opts: ScatterOptions,
parallel: &[Command],
gather_opts: GatherOptions,
post_gather: &[Command],
ctx: &mut ExecContext,
) -> ExecResult
pub async fn run( &self, pre_scatter: &[Command], scatter_opts: ScatterOptions, parallel: &[Command], gather_opts: GatherOptions, post_gather: &[Command], ctx: &mut ExecContext, ) -> ExecResult
Execute a scatter/gather pipeline.
The pipeline is split into three parts:
- pre_scatter: commands before scatter
- parallel: commands between scatter and gather
- post_gather: commands after gather
Returns the final result after all stages complete.
Auto Trait Implementations§
impl Freeze for ScatterGatherRunner
impl !RefUnwindSafe for ScatterGatherRunner
impl Send for ScatterGatherRunner
impl Sync for ScatterGatherRunner
impl Unpin for ScatterGatherRunner
impl UnsafeUnpin for ScatterGatherRunner
impl !UnwindSafe for ScatterGatherRunner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more