Beispiel #1
0
        /// <summary>
        /// Runs this pipeline giving detailed information as result.
        /// </summary>
        /// <param name="input">Input for this run (optional)</param>
        /// <param name="progress">An action to notify about pipe events (optional)</param>
        /// <returns>A detailed result of the run</returns>
        public PipelineResult RunDetailed(object input = null, Action <PipelineEvent> progress = null)
        {
            var run = new PipelineDetailedRun(input, _pipeline, progress);

            run.RunAll();
            return(new PipelineResult(run));
        }
Beispiel #2
0
        internal PipelineResult(PipelineDetailedRun current)
        {
            Id      = current.Pipeline.Id;
            Output  = current.Output;
            Success = current.Results.All(r => r.Exception == null);

            ElapsedTime = current.Results.Any() ?
                          current.Results.Last().Ended - current.Results.First().Started : TimeSpan.Zero;

            Pipes = current.Results.ToArray();
        }