diff options
Diffstat (limited to 'Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs b/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs index 36604ba3c..79adfc0da 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs @@ -28,6 +28,7 @@ namespace Tango.Integration.Operation protected double _last_progress; protected const int PROGRESS_REPORT_RANGE_METERS = 5; protected bool loggedContinueMessage; + private DateTime _lastProgressLogDateTime; #region Events @@ -341,25 +342,27 @@ namespace Tango.Integration.Operation protected virtual void InvalidateJobProgress(JobStatus s) { JobStatus = s; - - if (_last_progress != s.Progress) + + if (DateTime.UtcNow > _lastProgressLogDateTime.AddSeconds(5)) { - //if (LogManager.Categories.Exists(x => x == LogCategory.Debug)) - //{ + _lastProgressLogDateTime = DateTime.UtcNow; + + if (LogManager.Categories.Exists(x => x == LogCategory.Debug)) + { LogManager.Log($"Updating job progress {s.Progress}/{Status.TotalProgress}..."); - //} - //else - //{ - // if (s.Progress <= PROGRESS_REPORT_RANGE_METERS || s.Progress >= Status.TotalProgress - PROGRESS_REPORT_RANGE_METERS) - // { - // LogManager.Log($"Updating job progress {s.Progress}/{Status.TotalProgress}..."); - // } - // else if (!loggedContinueMessage) - // { - // loggedContinueMessage = true; - // LogManager.Log($"Progress logging will continue {PROGRESS_REPORT_RANGE_METERS} meters before completion..."); - // } - //} + } + else + { + if (s.Progress <= PROGRESS_REPORT_RANGE_METERS || s.Progress >= Status.TotalProgress - PROGRESS_REPORT_RANGE_METERS) + { + LogManager.Log($"Updating job progress {s.Progress}/{Status.TotalProgress}..."); + } + else if (!loggedContinueMessage) + { + loggedContinueMessage = true; + LogManager.Log($"Progress logging will continue {PROGRESS_REPORT_RANGE_METERS} meters before completion..."); + } + } } if (s.Progress < 0) @@ -378,16 +381,16 @@ namespace Tango.Integration.Operation { LogManager.Log($"Invalid job progress received '{s.Progress}' while last progress was '{_last_progress}'."); } - + _last_progress = s.Progress; - + List<Segment> unit_segments = new List<Segment>(); Status.Progress = s.Progress; Status.RemainingTime = Status.TotalTime - Job.TranslateProgressToTime(Status.Progress, ProcessParameters); Status.RemainingProgress = Status.TotalProgress - Status.Progress; - if((s.Progress < Status.SettingUpTotalProgress) || (Status.SettingUpProgress < Status.SettingUpTotalProgress)) + if ((s.Progress < Status.SettingUpTotalProgress) || (Status.SettingUpProgress < Status.SettingUpTotalProgress)) { Status.SettingUpProgress = Math.Min(s.Progress, this.Status.SettingUpTotalProgress); Status.IsSettingUp = true; @@ -437,12 +440,12 @@ namespace Tango.Integration.Operation break; } } - else if(ResumeConfig != null && ResumeConfig.GlobalStartPosition > 0) + else if (ResumeConfig != null && ResumeConfig.GlobalStartPosition > 0) { if (!Status.IsSettingUp && s.Progress <= previousUnitsLengthWithoutThis + unitLength + ProcessParameters.DryerBufferLengthMeters) { currentUnitProgress = s.Progress - previousUnitsLengthWithoutThis - ProcessParameters.DryerBufferLengthMeters; - //LogManager.Log($" JOB HANDLER currentUnitProgress before ={currentUnitProgress} progress = {s.Progress}"); + //LogManager.Log($" JOB HANDLER currentUnitProgress before ={currentUnitProgress} progress = {s.Progress}"); break; } } @@ -476,7 +479,7 @@ namespace Tango.Integration.Operation Status.CurrentUnitTotalProgress = Status.RemainingUnits > 1 && Job.EnableInterSegment ? Job.Length + (Job.InterSegmentLength) : Job.Length; - if (s.Message != _lastStatusMessage ) + if (s.Message != _lastStatusMessage) { Status.Message = s.Message; } |
