mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-12-15 16:16:44 +00:00
update
This commit is contained in:
@@ -93,10 +93,11 @@ func (pool *ResourcePool) start() {
|
|||||||
func (pool *ResourcePool) checkDeadNodes() {
|
func (pool *ResourcePool) checkDeadNodes() {
|
||||||
for {
|
for {
|
||||||
pool.heartBeatMu.Lock()
|
pool.heartBeatMu.Lock()
|
||||||
|
var nodesToDel []string
|
||||||
for k, v := range pool.heartBeat {
|
for k, v := range pool.heartBeat {
|
||||||
if v.Add(time.Second * 30).Before(time.Now()) {
|
if v.Add(time.Second * 30).Before(time.Now()) {
|
||||||
poolID := pool.getNodePool(k)
|
segID := pool.getNodePool(k)
|
||||||
seg := &pool.pools[poolID]
|
seg := &pool.pools[segID]
|
||||||
if seg.Nodes == nil {
|
if seg.Nodes == nil {
|
||||||
seg = seg.Next
|
seg = seg.Next
|
||||||
}
|
}
|
||||||
@@ -113,9 +114,18 @@ func (pool *ResourcePool) checkDeadNodes() {
|
|||||||
pool.versionsMu.Lock()
|
pool.versionsMu.Lock()
|
||||||
delete(pool.versions, k)
|
delete(pool.versions, k)
|
||||||
pool.versionsMu.Unlock()
|
pool.versionsMu.Unlock()
|
||||||
|
nodesToDel = append(nodesToDel, k)
|
||||||
log.Info(" node ", k, " is offline")
|
log.Info(" node ", k, " is offline")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for _, v := range nodesToDel {
|
||||||
|
segID := pool.getNodePool(v)
|
||||||
|
seg := &pool.pools[segID]
|
||||||
|
if seg.Nodes == nil {
|
||||||
|
seg = seg.Next
|
||||||
|
}
|
||||||
|
delete(seg.Nodes, v)
|
||||||
|
}
|
||||||
pool.heartBeatMu.Unlock()
|
pool.heartBeatMu.Unlock()
|
||||||
time.Sleep(time.Second * 10)
|
time.Sleep(time.Second * 10)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user