Ejemplo n.º 1
0
        private async Task RealCompleteStep(TransactionCreateContext context)
        {
            Console.WriteLine("BS - BaseStep RealCompleteStep");
            await CompleteStep(context);

            context.StepsCompleted++;
            var stepName = GetType().Name;

            context.LastSuccessfulStep = stepName;
            await context.PersistProgress();

            var stats = new Dictionary <string, object>
            {
                ["instanceId"]      = context.InstanceId,
                ["percentComplete"] = context.PercentComplete,
                ["stepName"]        = stepName
            };
            var stepTime = context.FinishTimingAndGetStepElapsedMilliseconds(stepName);

            if (stepTime != -1)
            {
                stats["stepElapsedTimeMs"] = stepTime;
            }
            context.SimultaneousSteps--;
            if (context.SimultaneousSteps != 0)
            {
                throw new Exception("somehow the copy process has become internally inconsistent");
            }
        }
Ejemplo n.º 2
0
        private async Task RealBeginStep(TransactionCreateContext context)
        {
            Console.WriteLine("BS - BaseStep RealBeginStep");
            if (context.SimultaneousSteps > 0)
            {
                throw new Exception("Detected an attempt to run steps in parallel. Do not run steps in parallel.");
            }
            context.SimultaneousSteps++;
            context.LastAttemptedStep = GetType().Name;
            await context.PersistProgress();

            await BeginStep(context);
        }