From dfed2daa8ebc365eea0febc25c628a7b6bb7eedf Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Sun, 17 Dec 2017 11:07:11 +0900 Subject: [PATCH] Fix synching information --- BTCPayServer/BTCPayServer.csproj | 2 +- BTCPayServer/NBXplorerWaiter.cs | 20 +++++++++++++++++++- BTCPayServer/Views/Shared/_Layout.cshtml | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/BTCPayServer/BTCPayServer.csproj b/BTCPayServer/BTCPayServer.csproj index b3a78307e..dba6042b8 100644 --- a/BTCPayServer/BTCPayServer.csproj +++ b/BTCPayServer/BTCPayServer.csproj @@ -2,7 +2,7 @@ Exe netcoreapp2.0 - 1.0.0.41 + 1.0.0.42 diff --git a/BTCPayServer/NBXplorerWaiter.cs b/BTCPayServer/NBXplorerWaiter.cs index 530012a71..7b1bf5ff8 100644 --- a/BTCPayServer/NBXplorerWaiter.cs +++ b/BTCPayServer/NBXplorerWaiter.cs @@ -119,14 +119,32 @@ namespace BTCPayServer } break; } + LastStatus = status; if (oldState != State) { Logs.PayServer.LogInformation($"NBXplorerWaiter status changed: {oldState} => {State}"); + if (State == NBXplorerState.Synching) + { + SetInterval(TimeSpan.FromSeconds(10)); + } + else + { + SetInterval(TimeSpan.FromMinutes(1)); + } } return oldState != State; } + private void SetInterval(TimeSpan interval) + { + try + { + _Timer.Change(0, (int)interval.TotalMilliseconds); + } + catch { } + } + public Task WhenReady(Func> act) { if (State == NBXplorerState.Ready) @@ -162,7 +180,7 @@ namespace BTCPayServer var status = await _Client.GetStatusAsync(cancellation).ConfigureAwait(false); return status; } - catch (OperationCanceledException) { throw; } + catch (OperationCanceledException) { } catch { } } } diff --git a/BTCPayServer/Views/Shared/_Layout.cshtml b/BTCPayServer/Views/Shared/_Layout.cshtml index fcbe50f32..6b636cbea 100644 --- a/BTCPayServer/Views/Shared/_Layout.cshtml +++ b/BTCPayServer/Views/Shared/_Layout.cshtml @@ -130,7 +130,7 @@