UpdateCurrentProgressRecord() public method

public UpdateCurrentProgressRecord ( int count ) : void
count int
return void
            public override void EndProcessing()
            {
                try
                {
                    _progressManager.TotalCount = _input.Count;
                    foreach (var i in _input)
                    {
                        var processed = Pool.ProcessedCount + Pool.GetPartiallyProcessedCount();
                        _progressManager.UpdateCurrentProgressRecord($"Starting processing of {i}", processed);
                        WriteProgress(_progressManager.ProgressRecord);
                        while (!Pool.TryAddInput(ScriptBlock, i))
                        {
                            WriteOutputs();
                        }
                    }

                    while (!Pool.WaitForAllPowershellCompleted(100))
                    {
                        _progressManager.UpdateCurrentProgressRecord("All work queued. Waiting for remaining work to complete.", Pool.ProcessedCount);
                        WriteProgress(_progressManager.ProgressRecord);

                        if (Stopping)
                        {
                            return;
                        }
                        WriteOutputs();
                    }
                    WriteOutputs();
                }
                finally
                {
                    WriteProgress(_progressManager.Completed());
                }
            }
Ejemplo n.º 2
0
            public override void EndProcessing()
            {
                try
                {
                    _progressManager.TotalCount = _input.Count;
                    var lastPercentComplete = -1;
                    foreach (var i in _input)
                    {
                        var processed = Pool.GetEstimatedProgressCount();
                        _lastEstimate = processed;
                        _progressManager.SetCurrentOperation($"Starting processing of {i}");
                        _progressManager.UpdateCurrentProgressRecord(processed);
                        var pr = _progressManager.ProgressRecord;
                        if (lastPercentComplete != pr.PercentComplete)
                        {
                            WriteProgress(pr);
                            lastPercentComplete = pr.PercentComplete;
                        }

                        while (!Pool.TryAddInput(ScriptBlock, i))
                        {
                            WriteOutputs();
                        }
                    }
                    _progressManager.SetCurrentOperation("All work queued. Waiting for remaining work to complete.");
                    while (!Pool.WaitForAllPowershellCompleted(100))
                    {
                        WriteProgressIfUpdated();
                        if (Stopping)
                        {
                            return;
                        }
                        WriteOutputs();
                    }
                    WriteOutputs();
                }
                finally
                {
                    _progressManager.UpdateCurrentProgressRecord(Pool.GetEstimatedProgressCount());
                    WriteProgress(_progressManager.Completed());
                }
            }