diff options
author | Valery Piashchynski <[email protected]> | 2021-08-17 23:27:37 +0300 |
---|---|---|
committer | Valery Piashchynski <[email protected]> | 2021-08-17 23:27:37 +0300 |
commit | 65a70f5d15fb0a1b1f787ff7f06b3a299dab0f96 (patch) | |
tree | c6c3e8f4b5952c4e389804da38fea0e03b2cd111 /plugins/resetter | |
parent | 064d375e3671135226cb3bc70be057339b23f26f (diff) |
Update Resetter plugin, remove old and unused code
Signed-off-by: Valery Piashchynski <[email protected]>
Diffstat (limited to 'plugins/resetter')
-rw-r--r-- | plugins/resetter/interface.go | 16 | ||||
-rw-r--r-- | plugins/resetter/plugin.go | 43 | ||||
-rw-r--r-- | plugins/resetter/rpc.go | 17 |
3 files changed, 18 insertions, 58 deletions
diff --git a/plugins/resetter/interface.go b/plugins/resetter/interface.go index 47d8d791..0defcaba 100644 --- a/plugins/resetter/interface.go +++ b/plugins/resetter/interface.go @@ -1,17 +1,7 @@ package resetter -// If plugin implements Resettable interface, than it state can be resetted without reload in runtime via RPC/HTTP -type Resettable interface { - // Reset reload all plugins - Reset() error -} - -// Resetter interface is the Resetter plugin main interface +// Resetter interface type Resetter interface { - // Reset all registered plugins - ResetAll() error - // Reset by plugin name - ResetByName(string) error - // GetAll registered plugins - GetAll() []string + // Reset reload plugin + Reset() error } diff --git a/plugins/resetter/plugin.go b/plugins/resetter/plugin.go index 4feb692a..b2fe59af 100644 --- a/plugins/resetter/plugin.go +++ b/plugins/resetter/plugin.go @@ -3,61 +3,32 @@ package resetter import ( endure "github.com/spiral/endure/pkg/container" "github.com/spiral/errors" - "github.com/spiral/roadrunner/v2/plugins/logger" ) const PluginName = "resetter" type Plugin struct { - registry map[string]Resettable - log logger.Logger + registry map[string]Resetter } -func (p *Plugin) ResetAll() error { - const op = errors.Op("resetter_plugin_reset_all") - for name := range p.registry { - err := p.registry[name].Reset() - if err != nil { - return errors.E(op, err) - } - } - return nil -} - -func (p *Plugin) ResetByName(plugin string) error { - const op = errors.Op("resetter_plugin_reset_by_name") - if plugin, ok := p.registry[plugin]; ok { - return plugin.Reset() - } - return errors.E(op, errors.Errorf("can't find plugin: %s", plugin)) -} - -func (p *Plugin) GetAll() []string { - all := make([]string, 0, len(p.registry)) - for name := range p.registry { - all = append(all, name) - } - return all -} - -func (p *Plugin) Init(log logger.Logger) error { - p.registry = make(map[string]Resettable) - p.log = log +func (p *Plugin) Init() error { + p.registry = make(map[string]Resetter) return nil } // Reset named service. func (p *Plugin) Reset(name string) error { + const op = errors.Op("resetter_plugin_reset_by_name") svc, ok := p.registry[name] if !ok { - return errors.E("no such service", errors.Str(name)) + return errors.E(op, errors.Errorf("no such service: %s", name)) } return svc.Reset() } // RegisterTarget resettable service. -func (p *Plugin) RegisterTarget(name endure.Named, r Resettable) error { +func (p *Plugin) RegisterTarget(name endure.Named, r Resetter) error { p.registry[name.Name()] = r return nil } @@ -80,5 +51,5 @@ func (p *Plugin) Available() { // RPC returns associated rpc service. func (p *Plugin) RPC() interface{} { - return &rpc{srv: p, log: p.log} + return &rpc{srv: p} } diff --git a/plugins/resetter/rpc.go b/plugins/resetter/rpc.go index 69c955b0..79171b5c 100644 --- a/plugins/resetter/rpc.go +++ b/plugins/resetter/rpc.go @@ -1,30 +1,29 @@ package resetter -import "github.com/spiral/roadrunner/v2/plugins/logger" +import "github.com/spiral/errors" type rpc struct { srv *Plugin - log logger.Logger } // List all resettable plugins. func (rpc *rpc) List(_ bool, list *[]string) error { - rpc.log.Debug("started List method") *list = make([]string, 0) for name := range rpc.srv.registry { *list = append(*list, name) } - rpc.log.Debug("services list", "services", *list) - - rpc.log.Debug("finished List method") return nil } // Reset named plugin. func (rpc *rpc) Reset(service string, done *bool) error { - rpc.log.Debug("started Reset method for the service", "service", service) - defer rpc.log.Debug("finished Reset method for the service", "service", service) + const op = errors.Op("resetter_rpc_reset") + err := rpc.srv.Reset(service) + if err != nil { + *done = false + return errors.E(op, err) + } *done = true - return rpc.srv.Reset(service) + return nil } |