From 93e5105ba73f07fc160930405c6ef8cd3a7ff4bd Mon Sep 17 00:00:00 2001 From: Jarle Pedersen Date: Fri, 18 Sep 2020 10:53:58 +0200 Subject: [PATCH] tip user about timeOut-setting use stopWatch use more proper exceptiontype --- .../SynchController.cs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/SynchController.cs b/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/SynchController.cs index ce36033..59760ea 100644 --- a/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/SynchController.cs +++ b/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/SynchController.cs @@ -567,17 +567,12 @@ private void GetStatusForChangelogOnProvider(int datasetId, string changeLogId) { var changeLogStatus = GetChangelogStatusResponse(datasetId, changeLogId); - var starttid = DateTime.Now; - var elapsedTicks = DateTime.Now.Ticks - starttid.Ticks; - - var elapsedSpan = new TimeSpan(elapsedTicks); + var stopWatch = Stopwatch.StartNew(); while ((changeLogStatus == ChangelogStatusType.queued || changeLogStatus == ChangelogStatusType.working) && - elapsedSpan.Minutes < timeout) + stopWatch.Elapsed.TotalMinutes < timeout) { System.Threading.Thread.Sleep(3000); - elapsedTicks = DateTime.Now.Ticks - starttid.Ticks; - elapsedSpan = new TimeSpan(elapsedTicks); changeLogStatus = GetChangelogStatusResponse(datasetId, changeLogId); } if (changeLogStatus == ChangelogStatusType.finished) @@ -596,7 +591,7 @@ private void GetStatusForChangelogOnProvider(int datasetId, string changeLogId) throw new IOException("Recieved ChangelogStatus == failed from provider"); default: Logger.Info("Timeout"); - throw new IOException("Timed out waiting for ChangelogStatus == finished from provider"); + throw new TimeoutException($"Timed out waiting for ChangelogStatus == finished from provider. Try increasing the TimeOut-value in the .config-file. Current value: {timeout} minutes"); } } }