Check healthz periodically

Signed-off-by: Derek Collison <derek@nats.io>
This commit is contained in:
Derek Collison
2023-04-28 17:58:45 -07:00
parent ac27fd046a
commit 85f6bfb2ac

View File

@@ -1127,6 +1127,10 @@ func (js *jetStream) monitorCluster() {
lt := time.NewTicker(leaderCheckInterval)
defer lt.Stop()
const healthCheckInterval = 2 * time.Minute
ht := time.NewTicker(healthCheckInterval)
defer ht.Stop()
var (
isLeader bool
lastSnapTime time.Time
@@ -1237,6 +1241,11 @@ func (js *jetStream) monitorCluster() {
if n.Leader() {
js.checkClusterSize()
}
case <-ht.C:
if hs := s.healthz(nil); hs.Error != _EMPTY_ {
s.Warnf("%v", hs.Error)
}
case <-lt.C:
s.Debugf("Checking JetStream cluster state")
// If we have a current leader or had one in the past we can cancel this here since the metaleader