diff options
author | Wolfy-J <[email protected]> | 2019-05-02 22:00:51 +0300 |
---|---|---|
committer | Wolfy-J <[email protected]> | 2019-05-02 22:00:51 +0300 |
commit | 658254359597aa85fa4679abd821dd06855b61e9 (patch) | |
tree | 9bf220d54a1e0896e7b0800f5905f0cab069b8fb /service | |
parent | 0cf4be46a04ee33bf04d08787b6dc8b46b932c1a (diff) |
stop command added
Diffstat (limited to 'service')
-rw-r--r-- | service/rpc/service.go | 7 | ||||
-rw-r--r-- | service/rpc/system.go | 18 |
2 files changed, 24 insertions, 1 deletions
diff --git a/service/rpc/service.go b/service/rpc/service.go index 0b957976..eba74c2d 100644 --- a/service/rpc/service.go +++ b/service/rpc/service.go @@ -3,6 +3,7 @@ package rpc import ( "errors" "github.com/spiral/goridge" + "github.com/spiral/roadrunner/service" "github.com/spiral/roadrunner/service/env" "net/rpc" "sync" @@ -21,7 +22,7 @@ type Service struct { } // Init rpc service. Must return true if service is enabled. -func (s *Service) Init(cfg *Config, env env.Environment) (bool, error) { +func (s *Service) Init(cfg *Config, c service.Container, env env.Environment) (bool, error) { if !cfg.Enable { return false, nil } @@ -33,6 +34,10 @@ func (s *Service) Init(cfg *Config, env env.Environment) (bool, error) { env.SetEnv("RR_RPC", cfg.Listen) } + if err := s.Register("system", &systemService{c}); err != nil { + return false, err + } + return true, nil } diff --git a/service/rpc/system.go b/service/rpc/system.go new file mode 100644 index 00000000..778250ad --- /dev/null +++ b/service/rpc/system.go @@ -0,0 +1,18 @@ +package rpc + +import "github.com/spiral/roadrunner/service" + +// systemService service controls roadrunner server. +type systemService struct { + c service.Container +} + +// Stop the underlying c. +func (s *systemService) Stop(stop bool, r *string) error { + if stop { + s.c.Stop() + } + *r = "OK" + + return nil +} |