diff options
author | Valery Piashchynski <[email protected]> | 2020-12-25 14:46:01 +0300 |
---|---|---|
committer | Valery Piashchynski <[email protected]> | 2020-12-25 14:46:01 +0300 |
commit | 8526c03822e724bc2ebb64b6197085fea335b782 (patch) | |
tree | b205b392b3721606fae4fa3174327259b41bc76a /plugins/informer | |
parent | 42b33b77793789d666451798b07587f6404242b4 (diff) |
Move root plugins to the pkg
Diffstat (limited to 'plugins/informer')
-rw-r--r-- | plugins/informer/interface.go | 8 | ||||
-rw-r--r-- | plugins/informer/plugin.go | 55 | ||||
-rw-r--r-- | plugins/informer/rpc.go | 54 |
3 files changed, 0 insertions, 117 deletions
diff --git a/plugins/informer/interface.go b/plugins/informer/interface.go deleted file mode 100644 index 27139ae1..00000000 --- a/plugins/informer/interface.go +++ /dev/null @@ -1,8 +0,0 @@ -package informer - -import "github.com/spiral/roadrunner/v2/interfaces/worker" - -// Informer used to get workers from particular plugin or set of plugins -type Informer interface { - Workers() []worker.BaseProcess -} diff --git a/plugins/informer/plugin.go b/plugins/informer/plugin.go deleted file mode 100644 index e2da7d86..00000000 --- a/plugins/informer/plugin.go +++ /dev/null @@ -1,55 +0,0 @@ -package informer - -import ( - "github.com/spiral/endure" - "github.com/spiral/errors" - "github.com/spiral/roadrunner-plugins/logger" - "github.com/spiral/roadrunner/v2/interfaces/worker" -) - -const PluginName = "informer" - -type Plugin struct { - registry map[string]Informer - log logger.Logger -} - -func (p *Plugin) Init(log logger.Logger) error { - p.registry = make(map[string]Informer) - p.log = log - return nil -} - -// Workers provides BaseProcess slice with workers for the requested plugin -func (p *Plugin) Workers(name string) ([]worker.BaseProcess, error) { - const op = errors.Op("get workers") - svc, ok := p.registry[name] - if !ok { - return nil, errors.E(op, errors.Errorf("no such service: %s", name)) - } - - return svc.Workers(), nil -} - -// CollectTarget resettable service. -func (p *Plugin) CollectTarget(name endure.Named, r Informer) error { - p.registry[name.Name()] = r - return nil -} - -// Collects declares services to be collected. -func (p *Plugin) Collects() []interface{} { - return []interface{}{ - p.CollectTarget, - } -} - -// Name of the service. -func (p *Plugin) Name() string { - return PluginName -} - -// RPCService returns associated rpc service. -func (p *Plugin) RPC() interface{} { - return &rpc{srv: p, log: p.log} -} diff --git a/plugins/informer/rpc.go b/plugins/informer/rpc.go deleted file mode 100644 index d32d4e3a..00000000 --- a/plugins/informer/rpc.go +++ /dev/null @@ -1,54 +0,0 @@ -package informer - -import ( - "github.com/spiral/roadrunner-plugins/logger" - "github.com/spiral/roadrunner/v2/interfaces/worker" - "github.com/spiral/roadrunner/v2/tools" -) - -type rpc struct { - srv *Plugin - log logger.Logger -} - -// WorkerList contains list of workers. -type WorkerList struct { - // Workers is list of workers. - Workers []tools.ProcessState `json:"workers"` -} - -// List all resettable services. -func (rpc *rpc) List(_ bool, list *[]string) error { - rpc.log.Debug("Started List method") - *list = make([]string, 0, len(rpc.srv.registry)) - - for name := range rpc.srv.registry { - *list = append(*list, name) - } - rpc.log.Debug("list of services", "list", *list) - - rpc.log.Debug("successfully finished List method") - return nil -} - -// Workers state of a given service. -func (rpc *rpc) Workers(service string, list *WorkerList) error { - rpc.log.Debug("started Workers method", "service", service) - workers, err := rpc.srv.Workers(service) - if err != nil { - return err - } - - list.Workers = make([]tools.ProcessState, 0) - for _, w := range workers { - ps, err := tools.WorkerProcessState(w.(worker.BaseProcess)) - if err != nil { - continue - } - - list.Workers = append(list.Workers, ps) - } - rpc.log.Debug("list of workers", "workers", list.Workers) - rpc.log.Debug("successfully finished Workers method") - return nil -} |