From d3f5dfa0e6176549514396adb2fbaff34502aa24 Mon Sep 17 00:00:00 2001 From: Alexander Kurpiers Date: Wed, 1 May 2024 18:48:32 +0200 Subject: [PATCH] StationDB update quicker If we sleep after every entry, database update will take ages --- .../ScoutBase.Stations/StationDatabaseUpdater.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ScoutBase/ScoutBase.Stations/StationDatabaseUpdater.cs b/ScoutBase/ScoutBase.Stations/StationDatabaseUpdater.cs index d5b2de5..44e7bfe 100644 --- a/ScoutBase/ScoutBase.Stations/StationDatabaseUpdater.cs +++ b/ScoutBase/ScoutBase.Stations/StationDatabaseUpdater.cs @@ -83,6 +83,7 @@ namespace ScoutBase.Stations json = sr.ReadToEnd(); List tmp = StationData.Database.LocationFromJSON(json); List lds = new List(); + int rate_limit_cnt = 0; foreach (LocationDesignator ld in tmp) { // skip locations outsid area of interest if option set @@ -92,7 +93,11 @@ namespace ScoutBase.Stations if (this.CancellationPending) return false; // reduce CPU load - Thread.Sleep(1); + if (++rate_limit_cnt > 100) + { + Thread.Sleep(1); + rate_limit_cnt = 0; + } } // check for empty database if (StationData.Database.LocationCount() == 0) @@ -133,6 +138,7 @@ namespace ScoutBase.Stations json = sr.ReadToEnd(); List tmp = StationData.Database.QRVFromJSON(json); List qrvs = new List(); + int rate_limit_cnt = 0; foreach (QRVDesignator qrv in tmp) { // skip locations outsid area of interest if option set @@ -148,7 +154,11 @@ namespace ScoutBase.Stations if (this.CancellationPending) return false; // reduce CPU load - Thread.Sleep(1); + if (++rate_limit_cnt > 100) + { + Thread.Sleep(1); + rate_limit_cnt = 0; + } } // chek for empty database if (StationData.Database.QRVCount() == 0)