/** * Timing Executor - Execute all active tasks for a timing group in parallel * Executes multiple tasks concurrently using isolated child processes for safety */ export interface TaskExecutionResult { taskId: string; taskName: string; executionId: string; status: 'success' | 'failure' | 'timeout'; result?: any; error?: string; duration: number; } export interface TimingExecutionSummary { timingId: string; totalTasks: number; activeTasks: number; executedTasks: number; successfulTasks: number; failedTasks: number; skippedTasks: number; results: TaskExecutionResult[]; totalDuration: number; } export declare class TimingExecutor { private taskManager; private executionRecorder; private defaultTimeout; constructor(); /** * Execute a single task immediately */ executeSingleTask(taskId: string, timeout?: number): Promise; /** * Execute all active tasks for a timing group in parallel */ executeTimingGroup(timingId: string, timeout?: number): Promise; /** * Get the path to ncp executable */ private getNCPExecutablePath; /** * Execute a single task in an isolated child process * This ensures if one task crashes, it doesn't affect other tasks */ private executeTaskInChildProcess; /** * Execute a single task (in-process - legacy, kept for backward compatibility) * @deprecated Use executeTaskInChildProcess for better isolation */ private executeTask; /** * Execute a function with timeout */ private executeWithTimeout; /** * Clean up old executions based on retention policy */ cleanupOldExecutions(maxAgeDays?: number, maxExecutionsPerTask?: number): Promise; } //# sourceMappingURL=timing-executor.d.ts.map