From 531283d45a9e37700328cc5f26b4b68a5be9a2b9 Mon Sep 17 00:00:00 2001 From: Jarle Pedersen Date: Fri, 18 Sep 2020 15:25:49 +0200 Subject: [PATCH 1/2] retry downloads if failing --- .../Download/DownloadController.cs | 25 ++++++++++++++++++- .../SynchController.cs | 2 +- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/Download/DownloadController.cs b/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/Download/DownloadController.cs index 2d062572..5817e836 100644 --- a/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/Download/DownloadController.cs +++ b/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/Download/DownloadController.cs @@ -36,7 +36,30 @@ public DownloadController(string changelogFilename) public bool DownloadChangelog(string downloadUri, Dataset dataset) { var webClient = new WebClient { Credentials = new NetworkCredential(dataset.UserName, dataset.Password) }; - webClient.DownloadFile(downloadUri, ChangelogFilename); + + var tries = 0; + + var waitMilliseconds = 300; + + while (tries < 10) + { + try + { + webClient.DownloadFile(downloadUri, ChangelogFilename); + break; + } + catch (Exception e) + { + System.Threading.Thread.Sleep(waitMilliseconds); + + waitMilliseconds *= 2; + + tries += 1; + + if (tries == 9) throw; + } + } + if (File.Exists(ChangelogFilename)) { UnpackZipFile(ChangelogFilename); diff --git a/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/SynchController.cs b/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/SynchController.cs index 59760ea8..82829cfc 100644 --- a/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/SynchController.cs +++ b/Kartverket.Geosynkronisering.Subscriber/Kartverket.Geosynkronisering.Subscriber.BL/SynchController.cs @@ -189,7 +189,7 @@ public bool GetChangelog(int datasetId, string changelogId, out DownloadControll #endif downloadController = new DownloadController {ChangelogFilename = fileName}; - downloadController.DownloadChangelog(downloaduri, dataset); + downloadController.DownloadChangelog(downloaduri, dataset); } catch (WebException webEx) { From 59cf75e749de183886be3ff459dfa394c09edab7 Mon Sep 17 00:00:00 2001 From: Jarle Pedersen Date: Mon, 21 Sep 2020 15:08:19 +0200 Subject: [PATCH 2/2] use master in link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b24545e..0b18e85a 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [Downloads](https://github.com/kartverket/geosynkronisering/releases) -[Documentation for alternative subscriber for non-windows](https://github.com/kartverket/geosynkronisering/tree/fixDotnetstandard/Kartverket.Geosynkronisering.Subscriber/Test_Subscriber_NetCore) +[Documentation for alternative subscriber for non-windows](https://github.com/kartverket/geosynkronisering/tree/master/Kartverket.Geosynkronisering.Subscriber/Test_Subscriber_NetCore) [Deprecated version](https://github.com/kartverket/CORESubscriber)