AzureML.PowerShell.StartExperiment.ProcessRecord C# (CSharp) Method

ProcessRecord() protected method

protected ProcessRecord ( ) : void
return void
        protected override void ProcessRecord()
        {
            string rawJson = string.Empty;
            ProgressRecord progress = new ProgressRecord(1, "Start Experiment", "Experiment Name:");
            progress.CurrentOperation = "Getting experiment graph...";

            progress.PercentComplete = 1;
            WriteProgress(progress);
            Experiment exp = Sdk.GetExperimentById(GetWorkspaceSetting(), ExperimentId, out rawJson);
            progress.StatusDescription = "Experiment Name: " + exp.Description;

            progress.CurrentOperation = "Saving experiment...";
            progress.PercentComplete = 2;
            WriteProgress(progress);
            Sdk.SaveExperiment(GetWorkspaceSetting(), exp, rawJson);

            progress.CurrentOperation = "Submitting experiment to run...";
            progress.PercentComplete = 3;
            WriteProgress(progress);
            Sdk.RunExperiment(GetWorkspaceSetting(), exp, rawJson);

            progress.CurrentOperation = "Getting experiment status...";
            progress.PercentComplete = 4;
            WriteProgress(progress);
            exp = Sdk.GetExperimentById(GetWorkspaceSetting(), ExperimentId, out rawJson);
            int percentage = 5;
            while (exp.Status.StatusCode != "Finished" && exp.Status.StatusCode != "Failed")
            {
                exp = Sdk.GetExperimentById(GetWorkspaceSetting(), ExperimentId, out rawJson);
                progress.CurrentOperation = "Experiment Status: " + exp.Status.StatusCode;
                percentage++;
                // reset the percentage count if it reaches 100 and execution is still in progress.
                if (percentage > 100) percentage = 1;
                progress.PercentComplete = percentage;
                WriteProgress(progress);
            }

            progress.PercentComplete = 100;
            WriteProgress(progress);

            WriteObject(string.Format("Experiment \"{0}\" status: ", exp.Description) + exp.Status.StatusCode);
        }
    }
StartExperiment