Commit 1b67b83c authored by duanjinfei's avatar duanjinfei

monitor nm heart status

parent b1a9a5c9
...@@ -79,7 +79,7 @@ type BenefitAddressInfo struct { ...@@ -79,7 +79,7 @@ type BenefitAddressInfo struct {
type NodeManagerClient struct { type NodeManagerClient struct {
mutex sync.Mutex mutex sync.Mutex
LastHeartTime int64 LastHeartTime time.Time
PublicKey string PublicKey string
Endpoint string Endpoint string
Client nodeManagerV1.NodeManagerServiceClient Client nodeManagerV1.NodeManagerServiceClient
...@@ -88,13 +88,13 @@ type NodeManagerClient struct { ...@@ -88,13 +88,13 @@ type NodeManagerClient struct {
IsSelected bool IsSelected bool
} }
func (n *NodeManagerClient) GetLastHeartTime() int64 { func (n *NodeManagerClient) GetLastHeartTime() time.Time {
n.mutex.Lock() n.mutex.Lock()
defer n.mutex.Unlock() defer n.mutex.Unlock()
return n.LastHeartTime return n.LastHeartTime
} }
func (n *NodeManagerClient) UpdateLastHeartTime(time int64) { func (n *NodeManagerClient) UpdateLastHeartTime(time time.Time) {
n.mutex.Lock() n.mutex.Lock()
n.LastHeartTime = time n.LastHeartTime = time
n.mutex.Unlock() n.mutex.Unlock()
......
...@@ -195,7 +195,7 @@ func monitorWorker(op *operate.DockerOp) { ...@@ -195,7 +195,7 @@ func monitorWorker(op *operate.DockerOp) {
log.Info("------------------------Start rev msg worker thread------------------------") log.Info("------------------------Start rev msg worker thread------------------------")
for { for {
if (time.Now().UnixMilli()-nodeManager.GetLastHeartTime())/conf.GetConfig().HeartRespTimeMillis > conf.GetConfig().HeartRespTimeSecond { if time.Now().Sub(nodeManager.GetLastHeartTime()) == time.Duration(conf.GetConfig().HeartRespTimeSecond) {
if nodeManager.Status { if nodeManager.Status {
nodeManager.UpdateStatus(false) nodeManager.UpdateStatus(false)
} }
...@@ -268,7 +268,7 @@ func handlerMsg(nodeManager *models.NodeManagerClient, ...@@ -268,7 +268,7 @@ func handlerMsg(nodeManager *models.NodeManagerClient,
} }
heartbeatReq := rev.GetHeartbeatRequest() heartbeatReq := rev.GetHeartbeatRequest()
if heartbeatReq != nil { if heartbeatReq != nil {
nodeManager.UpdateLastHeartTime(int64(heartbeatReq.Timestamp)) nodeManager.UpdateLastHeartTime(time.Now())
params := buildParams(heartbeatReq.Timestamp) params := buildParams(heartbeatReq.Timestamp)
msgRespWorker.RegisterMsgResp(nodeManager, worker, HeartbeatResp, params) msgRespWorker.RegisterMsgResp(nodeManager, worker, HeartbeatResp, params)
log.Info("-------------Heart beat req:-------------", heartbeatReq) log.Info("-------------Heart beat req:-------------", heartbeatReq)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment