diff --git a/cluster/node/core.go b/cluster/node/core.go index bd5e4f84..7f3aa602 100644 --- a/cluster/node/core.go +++ b/cluster/node/core.go @@ -423,6 +423,18 @@ func (n *Core) ProcessValidateConfig(config *app.Config) error { return client.ProcessValidateConfig(config) } +func (n *Core) ProcessGet(id app.ProcessID, filter []string) (api.Process, error) { + n.lock.RLock() + client := n.client + n.lock.RUnlock() + + if client == nil { + return api.Process{}, ErrNoPeer + } + + return client.Process(id, filter) +} + func (n *Core) ProcessList(options client.ProcessListOptions) ([]api.Process, error) { n.lock.RLock() client := n.client diff --git a/cluster/node/manager.go b/cluster/node/manager.go index c9f51b7d..9c71fb08 100644 --- a/cluster/node/manager.go +++ b/cluster/node/manager.go @@ -555,20 +555,12 @@ func (p *Manager) ProcessGet(nodeid string, id app.ProcessID, filter []string) ( return api.Process{}, err } - list, err := node.Core().ProcessList(client.ProcessListOptions{ - ID: []string{id.ID}, - Filter: filter, - Domain: id.Domain, - }) + process, err := node.Core().ProcessGet(id, filter) if err != nil { return api.Process{}, err } - if len(list) == 0 { - return api.Process{}, fmt.Errorf("process not found") - } - - return list[0], nil + return process, nil } func (p *Manager) ProcessAdd(nodeid string, config *app.Config, metadata map[string]interface{}) error {