Example #1
0
        public void Start()
        {
            try
            {
                _managerOutput.WriteLine("Process Started");
                while (true)
                {
                    RunSteps();
                    if (_runningTasks.Count == 0)
                    {
                        break;
                    }
                    CheckSteps();
                    WaitAnyTasks();
                }

                _managerOutput.WriteLine("All Complete");
            }
            catch (StepFailedException)
            {
                KillAllRunningSteps();
                WaitAllTasks();
                _managerOutput.WriteLine("Process Failed");
            }

            Cleanup();
        }
Example #2
0
        private void WriteOutput(object sender, DataReceivedEventArgs args)
        {
            if (!_outStream.CanWrite || string.IsNullOrEmpty(args.Data))
            {
                return;
            }

            var lines = args.Data.Split("\n");

            foreach (var line in lines)
            {
                _outStream.WriteLine(line);
            }
        }
Example #3
0
        public async Task <bool> Run()
        {
            _managerOutput.WriteLine("Starting " + _stepName);

            var result = await RunActions();

            Cleanup();
            if (!result)
            {
                _managerOutput.WriteLine("Failed " + _stepName);
                return(false);
            }

            _managerOutput.WriteLine("Finished " + _stepName);
            return(true);
        }