From d13dc5529b982d2e2e8d86c369f1d8571a5fdcbf Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Sat, 9 Apr 2022 08:31:16 -0700 Subject: [PATCH] health check was firing way too often, fix some logic to keep it around 1min, not every 5 seconds --- app/plugins/networkCheck.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/plugins/networkCheck.go b/app/plugins/networkCheck.go index a38260c..27598b8 100644 --- a/app/plugins/networkCheck.go +++ b/app/plugins/networkCheck.go @@ -16,6 +16,8 @@ const NetworkCheckError = "Error" // NetworkCheckSuccess is a status for when the NetworkCheck Plugin has had a successful message from a peer, indicating it is online right now const NetworkCheckSuccess = "Success" +const NetworkCheckPeriod = time.Minute + // networkCheck is a convenience plugin for testing high level availability of onion services type networkCheck struct { bus event.Manager @@ -49,7 +51,7 @@ func (nc *networkCheck) run() { nc.bus.Subscribe(event.ServerStateChange, nc.queue) nc.bus.Subscribe(event.NewGetValMessageFromPeer, nc.queue) nc.bus.Subscribe(event.NewRetValMessageFromPeer, nc.queue) - var lastMessageReceived time.Time + var lastMessageReceived = time.Now() for { select { case <-nc.breakChan: @@ -97,10 +99,11 @@ func (nc *networkCheck) run() { } nc.offlineLock.Unlock() } - case <-time.After(tickTime): + case <-time.After(NetworkCheckPeriod): // if we haven't received an action in the last minute...kick off a set of testing if time.Since(lastMessageReceived) > time.Minute { nc.selfTest() + lastMessageReceived = time.Now() } } }