kist
Version:
Package Pipeline Processor
43 lines (42 loc) • 1.59 kB
TypeScript
import { ConfigInterface } from "../../interface/ConfigInterface";
import { AbstractProcess } from "../abstract/AbstractProcess";
/**
* Represents the pipeline of stages to be executed.
* This class manages the execution flow of stages, including parallel
* execution, dependency handling, and applying global options for consistent
* pipeline behavior.
*/
export declare class Pipeline extends AbstractProcess {
private config;
/**
* List of stages to be executed in the pipeline.
*/
private stages;
/**
* Global options that apply across the entire pipeline.
*/
private options?;
/**
* Constructs a new Pipeline instance with the given configuration.
* Initializes stages and applies global options for execution control.
*
* @param config - The configuration object defining the stages, steps,
* and global options for the pipeline.
*/
constructor(config: ConfigInterface);
/**
* Runs the pipeline, executing stages based on their dependencies.
* Stages are run in parallel by default, but their execution respects
* defined dependencies. Applies global options for logging, error
* handling, and execution control.
*/
run(): Promise<void>;
/**
* Runs the stage promises with concurrency control based on global
* options. Limits the number of parallel running stages if
* maxConcurrentStages is set in global options.
* @param stagePromises - An array of promises representing stage
* executions.
*/
private runWithConcurrencyControl;
}