Example #1
0
 public static StepStat CreateFromStep(IValueTaskStep step)
 {
     return(new StepStat
     {
         Name = step.Name,
         TimeTaken = step.TimeTaken,
         ProcessedItemsCount = step.ProcessedItemsCount,
     });
 }
        private async ValueTask ExecuteStep(IValueTaskStep step, T context, List <StepStat> stats, CancellationToken token)
        {
            if (step is IValueTaskStep <T> stepWithCtx)
            {
                stepWithCtx.Context = context;
            }

            if (step.CanProcess())
            {
                var dt = DateTime.UtcNow;
                await step.Process(token);

                var tt = (DateTime.UtcNow - dt).TotalMilliseconds;
                step.WasFired  = true;
                step.TimeTaken = tt;
                stats.Add(StepStat.CreateFromStep(step));
            }
        }