/// import { EventEmitter } from 'events'; import { Tasks } from './Tasks'; import { TaskRun } from './TaskRun'; import { TASK_RUNNER_SPEC, TASK_STATES } from './Constants'; import { ITaskRunnerResult } from './ITaskRunnerResult'; import { ILoggerApi } from '../logging/ILoggerApi'; import { ITaskRunnerOptions } from './ITaskRunnerOptions'; import { TasksApi } from '../../api/Tasks.api'; import { TaskRunnerEvent } from './TaskRunnerEvent'; /** * Container for single or multiple task execution * * Events: * * - TASKRUN_STATE_FINISHED * - TASKRUN_STATE_NEXT * - TASKRUN_STATE_RUN * - TASKRUN_STATE_DONE * */ export declare class TaskRunner extends EventEmitter { static taskRunnerId: number; nr: number; /** * Unique Task Id */ id: string; event: TaskRunnerEvent; taskNrs: number; $options: ITaskRunnerOptions; $registry: Tasks; $parallel: any; $dry_mode: any; $tasks: TaskRun[]; private todoNrs; private runningNrs; private doneNrs; $finished: any; $start: Date; $stop: Date; $duration: number; $finish: Function; $incoming: any; $outgoing: any; undeclaredIncomingNames: string[]; state: TASK_STATES; private invoker; private loggerName; private taskLogger; constructor(registry: Tasks, names: TASK_RUNNER_SPEC[], options?: ITaskRunnerOptions); /** * Initialize streams for input and output communication with runnings tasks * @private */ /** * Initialize task logger * * @private */ private initTaskLogger; fireStateEvent(): void; getOption(key: string, defaultValue?: any): any; getId(): string; getOptions(): ITaskRunnerOptions; taskInc(): number; getLogger(): ILoggerApi; getTaskNames(): string[]; /** * Get all incomings passed to runner */ getIncomings(): any; /** * Get all necassary incoming parameter * * @param itersect */ getIncomingParameters(withoutPassThrough?: boolean): import("./TaskExchangeRef").TaskExchangeRef[]; /** * Set incomings variables * * @param parameters */ setIncomings(parameters: any): Promise; /** * Set incoming variables or if not declared pass to parameters * * @param key * @param value */ setIncoming(key: string, value: any): Promise; /** * Return undeclared parameter names which are not part on incomings */ getUndeclaredIncomingNames(): string[]; /** * Check if subtask or depending tasks are ready */ selectNextTask(): TaskRun; resolveDeps(task_names: TASK_RUNNER_SPEC[], parent?: TaskRun, variant?: 'subs' | 'deps'): void; createTaskRun(name: string, incomings?: any): TaskRun; enqueue(taskRun: TaskRun): void; areTasksDone(tasksNrs: number[]): boolean; next(): void; api(): TasksApi; taskRun(taskRun: TaskRun): void; taskDone(taskRun: TaskRun, err?: Error): void; run(cb?: Function): Promise; runDry(cb?: Function): Promise; getList(): string[]; update(taskName: string): void; finish(): void; collectStats(taskName?: string): ITaskRunnerResult; finalize(): Promise; }