rcc-pipeline
Version:
RCC Pipeline Module - Pipeline system and workflow management based on pipeline-framework
64 lines • 2.03 kB
TypeScript
/**
* Pipeline Stage Interfaces
* 流水线阶段接口
*/
import { PipelineStageStatus, PipelineStage } from './IRequestContext';
/**
* Pipeline Stage Interface
* 流水线阶段接口
*/
export interface IPipelineStage {
getStageName(): string;
getStartTime(): number;
getEndTime(): number | undefined;
getDuration(): number | undefined;
getStatus(): PipelineStageStatus;
getError(): string | undefined;
getData(): any;
setStartTime(startTime: number): void;
setEndTime(endTime: number): void;
setStatus(status: PipelineStageStatus): void;
setError(error: string): void;
setData(data: any): void;
markAsStarted(): void;
markAsCompleted(data?: any): void;
markAsFailed(error: string): void;
isCompleted(): boolean;
isFailed(): boolean;
isRunning(): boolean;
toObject(): PipelineStage;
clone(): IPipelineStage;
}
/**
* Pipeline Stage Factory Interface
* 流水线阶段工厂接口
*/
export interface IPipelineStageFactory {
createStage(stageName: string): IPipelineStage;
createStageWithData(stageName: string, data: any): IPipelineStage;
createStageFromObject(stageObject: PipelineStage): IPipelineStage;
}
/**
* Pipeline Stage Manager Interface
* 流水线阶段管理器接口
*/
export interface IPipelineStageManager {
addStage(stage: IPipelineStage): void;
getStage(stageName: string): IPipelineStage | undefined;
removeStage(stageName: string): boolean;
updateStage(stageName: string, updates: Partial<IPipelineStage>): boolean;
getAllStages(): IPipelineStage[];
getStagesByStatus(status: PipelineStageStatus): IPipelineStage[];
getCompletedStages(): IPipelineStage[];
getFailedStages(): IPipelineStage[];
getRunningStages(): IPipelineStage[];
getStageStatistics(): {
total: number;
completed: number;
failed: number;
running: number;
pending: number;
};
clearAllStages(): void;
}
//# sourceMappingURL=IPipelineStage.d.ts.map