Add per-node ping monitoring with unreachable error tracking
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
10
nodes.go
10
nodes.go
@@ -252,8 +252,10 @@ func (n *Nodes) startNodePoller(nodeID int, node *Node) {
|
||||
n.nodeCancel[nodeID] = cancel
|
||||
|
||||
go func() {
|
||||
ticker := time.NewTicker(10 * time.Second)
|
||||
defer ticker.Stop()
|
||||
pollTicker := time.NewTicker(10 * time.Second)
|
||||
pingTicker := time.NewTicker(1 * time.Second)
|
||||
defer pollTicker.Stop()
|
||||
defer pingTicker.Stop()
|
||||
|
||||
for {
|
||||
select {
|
||||
@@ -261,8 +263,10 @@ func (n *Nodes) startNodePoller(nodeID int, node *Node) {
|
||||
return
|
||||
case <-node.pollTrigger:
|
||||
n.t.pollNode(node)
|
||||
case <-ticker.C:
|
||||
case <-pollTicker.C:
|
||||
n.t.pollNode(node)
|
||||
case <-pingTicker.C:
|
||||
n.t.pingNode(node)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
Reference in New Issue
Block a user