diff options
author | Valery Piashchynski <[email protected]> | 2021-04-30 16:30:54 +0300 |
---|---|---|
committer | GitHub <[email protected]> | 2021-04-30 16:30:54 +0300 |
commit | 009b7009885d8a15e6fa6c7e78436087b2f20129 (patch) | |
tree | 6bab1f99aa83c794060ab4c913d5ff62fef6882d /plugins/informer/plugin.go | |
parent | 684864530618f4b82399e5f1a89d5967c6ca9bcb (diff) | |
parent | 556477ca9df3fa2e5939057861314eabe5ce30ca (diff) |
#652 feat(informer): list of active plugins in runtime
#652 feat(informer): list of active plugins in runtime
Diffstat (limited to 'plugins/informer/plugin.go')
-rw-r--r-- | plugins/informer/plugin.go | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/plugins/informer/plugin.go b/plugins/informer/plugin.go index 98081d34..2d76123b 100644 --- a/plugins/informer/plugin.go +++ b/plugins/informer/plugin.go @@ -4,19 +4,18 @@ import ( endure "github.com/spiral/endure/pkg/container" "github.com/spiral/errors" "github.com/spiral/roadrunner/v2/pkg/process" - "github.com/spiral/roadrunner/v2/plugins/logger" ) const PluginName = "informer" type Plugin struct { - registry map[string]Informer - log logger.Logger + registry map[string]Informer + available map[string]Availabler } -func (p *Plugin) Init(log logger.Logger) error { +func (p *Plugin) Init() error { + p.available = make(map[string]Availabler) p.registry = make(map[string]Informer) - p.log = log return nil } @@ -31,19 +30,24 @@ func (p *Plugin) Workers(name string) ([]process.State, error) { 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, + p.CollectPlugins, + p.CollectWorkers, } } +// CollectPlugins collects all RR plugins +func (p *Plugin) CollectPlugins(name endure.Named, l Availabler) { + p.available[name.Name()] = l +} + +// CollectWorkers obtains plugins with workers inside. +func (p *Plugin) CollectWorkers(name endure.Named, r Informer) { + p.registry[name.Name()] = r +} + // Name of the service. func (p *Plugin) Name() string { return PluginName @@ -51,5 +55,5 @@ func (p *Plugin) Name() string { // RPC returns associated rpc service. func (p *Plugin) RPC() interface{} { - return &rpc{srv: p, log: p.log} + return &rpc{srv: p} } |