Commit 2ac3d888 authored by vicotor's avatar vicotor

fix bug

parent ea44f988
...@@ -70,11 +70,12 @@ func initConfig() { ...@@ -70,11 +70,12 @@ func initConfig() {
func runNode() { func runNode() {
n := server.NewNode() n := server.NewNode()
go metrics.StartMetrics()
if err := n.Start(); err != nil { if err := n.Start(); err != nil {
log.WithError(err).Error("run node failed") log.WithError(err).Error("run node failed")
return return
} }
metrics.StartMetrics()
wg := sync.WaitGroup{} wg := sync.WaitGroup{}
wg.Add(1) wg.Add(1)
......
...@@ -5,6 +5,7 @@ import ( ...@@ -5,6 +5,7 @@ import (
"errors" "errors"
"github.com/odysseus/nodemanager/utils" "github.com/odysseus/nodemanager/utils"
omanager "github.com/odysseus/odysseus-protocol/gen/proto/go/nodemanager/v1" omanager "github.com/odysseus/odysseus-protocol/gen/proto/go/nodemanager/v1"
log "github.com/sirupsen/logrus"
"strings" "strings"
) )
...@@ -36,9 +37,11 @@ func (n *NodeManagerService) RegisterWorker(client omanager.NodeManagerService_R ...@@ -36,9 +37,11 @@ func (n *NodeManagerService) RegisterWorker(client omanager.NodeManagerService_R
//return n.node.wm.handleNewDial(client) //return n.node.wm.handleNewDial(client)
uuid := utils.GetSnowflakeId() uuid := utils.GetSnowflakeId()
log.WithField("uuid", uuid).Debug("new worker register")
worker, err := n.node.wm.AddNewWorker(uuid, client) worker, err := n.node.wm.AddNewWorker(uuid, client)
if err != nil { if err != nil {
log.WithField("uuid", uuid).WithError(err).Error("add new worker failed")
return err return err
} }
return n.node.wm.manageWorker(worker) return n.node.wm.manageWorker(worker)
......
...@@ -226,6 +226,7 @@ func (wm *WorkerManager) disconnect(worker *Worker) { ...@@ -226,6 +226,7 @@ func (wm *WorkerManager) disconnect(worker *Worker) {
wm.wkRwLock.Lock() wm.wkRwLock.Lock()
delete(wm.workers, worker.uuid) delete(wm.workers, worker.uuid)
delete(wm.workid, worker.workerAddr) delete(wm.workid, worker.workerAddr)
wm.wkRwLock.Unlock()
} }
func (wm *WorkerManager) manageWorker(worker *Worker) error { func (wm *WorkerManager) manageWorker(worker *Worker) error {
...@@ -294,6 +295,7 @@ func (wm *WorkerManager) manageWorker(worker *Worker) error { ...@@ -294,6 +295,7 @@ func (wm *WorkerManager) manageWorker(worker *Worker) error {
} }
if time.Now().Unix()-wm.GetHeartBeat(worker.uuid) > int64(workerCheckDuration.Seconds()) { if time.Now().Unix()-wm.GetHeartBeat(worker.uuid) > int64(workerCheckDuration.Seconds()) {
log.WithField("worker-uuid", worker.uuid).Error("worker heartbeat expired")
close(worker.quit) close(worker.quit)
return ErrHeartBeatExpired return ErrHeartBeatExpired
} }
......
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