diff --git a/cluster/store/process.go b/cluster/store/process.go index f14d4c95..ea17dcc4 100644 --- a/cluster/store/process.go +++ b/cluster/store/process.go @@ -251,6 +251,18 @@ func (s *store) ProcessGetNodeMap() map[string]string { return m } +func (s *store) ProcessGetNode(id app.ProcessID) (string, error) { + s.lock.RLock() + defer s.lock.RUnlock() + + nodeid, hasProcess := s.data.ProcessNodeMap[id.String()] + if !hasProcess { + return "", ErrNotFound + } + + return nodeid, nil +} + func (s *store) ProcessGetRelocateMap() map[string]string { s.lock.RLock() defer s.lock.RUnlock() diff --git a/cluster/store/store.go b/cluster/store/store.go index f6694f2b..40973111 100644 --- a/cluster/store/store.go +++ b/cluster/store/store.go @@ -22,6 +22,7 @@ type Store interface { ProcessList() []Process ProcessGet(id app.ProcessID) (Process, error) + ProcessGetNode(id app.ProcessID) (string, error) ProcessGetNodeMap() map[string]string ProcessGetRelocateMap() map[string]string