From dfef39c64132192d13e2315364a74f1b0244791e Mon Sep 17 00:00:00 2001 From: Wolfy-J Date: Fri, 15 Jun 2018 15:54:14 +0300 Subject: readme, samples, golint, build scripts --- cmd/rr/.rr.yaml | 2 +- cmd/rr/cmd/root.go | 6 +++- cmd/rr/cmd/version.go | 6 ++++ cmd/rr/debug/debugger.go | 87 ++++++++++++++++++++++++++++++++++++++++++++ cmd/rr/debug/listener.go | 93 ------------------------------------------------ cmd/rr/main.go | 2 +- 6 files changed, 100 insertions(+), 96 deletions(-) create mode 100644 cmd/rr/cmd/version.go create mode 100644 cmd/rr/debug/debugger.go delete mode 100644 cmd/rr/debug/listener.go (limited to 'cmd/rr') diff --git a/cmd/rr/.rr.yaml b/cmd/rr/.rr.yaml index ab0f3e7f..775cd6c3 100644 --- a/cmd/rr/.rr.yaml +++ b/cmd/rr/.rr.yaml @@ -47,7 +47,7 @@ http: # static file serving. static: # serve http static files - enable: false + enable: true # root directory for static file (http would not serve .php and .htaccess files). dir: "public" diff --git a/cmd/rr/cmd/root.go b/cmd/rr/cmd/root.go index b1f3ea9a..1a21cfc9 100644 --- a/cmd/rr/cmd/root.go +++ b/cmd/rr/cmd/root.go @@ -45,7 +45,11 @@ var ( Use: "rr", SilenceErrors: true, SilenceUsage: true, - Short: utils.Sprintf("RoadRunner, PHP Application Server."), + Short: utils.Sprintf( + "RoadRunner, PHP Application Server:\nVersion: %s, %s", + Version, + BuildTime, + ), } ) diff --git a/cmd/rr/cmd/version.go b/cmd/rr/cmd/version.go new file mode 100644 index 00000000..5edb7543 --- /dev/null +++ b/cmd/rr/cmd/version.go @@ -0,0 +1,6 @@ +package cmd + +var ( + Version = "1.0.0" // Placeholder for the version + BuildTime = "development" // Placeholder for the build time +) diff --git a/cmd/rr/debug/debugger.go b/cmd/rr/debug/debugger.go new file mode 100644 index 00000000..0621285b --- /dev/null +++ b/cmd/rr/debug/debugger.go @@ -0,0 +1,87 @@ +package debug + +import ( + "github.com/sirupsen/logrus" + "github.com/spiral/roadrunner" + "github.com/spiral/roadrunner/cmd/rr/utils" + "github.com/spiral/roadrunner/service/http" +) + +// Listener creates new debug listener. +func Listener(logger *logrus.Logger) func(event int, ctx interface{}) { + return (&debugger{logger}).listener +} + +// listener provide debug callback for system events. With colors! +type debugger struct{ logger *logrus.Logger } + +// listener listens to http events and generates nice looking output. +func (s *debugger) listener(event int, ctx interface{}) { + // http events + switch event { + case http.EventResponse: + log := ctx.(*http.Event) + s.logger.Info(utils.Sprintf("%s %s %s", statusColor(log.Status), log.Method, log.URI)) + case http.EventError: + log := ctx.(*http.Event) + + if _, ok := log.Error.(roadrunner.JobError); ok { + s.logger.Info(utils.Sprintf("%s %s %s", statusColor(log.Status), log.Method, log.URI)) + } else { + s.logger.Info(utils.Sprintf( + "%s %s %s %s", + statusColor(log.Status), + log.Method, + log.URI, + log.Error, + )) + } + } + + switch event { + case roadrunner.EventWorkerKill: + w := ctx.(*roadrunner.Worker) + s.logger.Warning(utils.Sprintf( + "worker.%v killed", + *w.Pid, + )) + + case roadrunner.EventWorkerError: + err := ctx.(roadrunner.WorkerError) + s.logger.Error(utils.Sprintf( + "worker.%v %s", + *err.Worker.Pid, + err.Caused, + )) + } + + // rr server events + switch event { + case roadrunner.EventServerFailure: + s.logger.Error(utils.Sprintf("server is dead")) + } + + // pool events + switch event { + case roadrunner.EventPoolConstruct: + s.logger.Debug(utils.Sprintf("new worker pool")) + case roadrunner.EventPoolError: + s.logger.Error(utils.Sprintf("%s", ctx)) + } +} + +func statusColor(status int) string { + if status < 300 { + return utils.Sprintf("%v", status) + } + + if status < 400 { + return utils.Sprintf("%v", status) + } + + if status < 500 { + return utils.Sprintf("%v", status) + } + + return utils.Sprintf("%v", status) +} diff --git a/cmd/rr/debug/listener.go b/cmd/rr/debug/listener.go deleted file mode 100644 index f137b06f..00000000 --- a/cmd/rr/debug/listener.go +++ /dev/null @@ -1,93 +0,0 @@ -package debug - -import ( - "github.com/sirupsen/logrus" - "github.com/spiral/roadrunner" - "github.com/spiral/roadrunner/cmd/rr/utils" - "github.com/spiral/roadrunner/service/http" -) - -// Listener provide debug callback for system events. With colors! -type listener struct{ logger *logrus.Logger } - -// NewListener creates new debug listener. -func NewListener(logger *logrus.Logger) *listener { - return &listener{logger} -} - -// Listener listens to http events and generates nice looking output. -func (s *listener) Listener(event int, ctx interface{}) { - // http events - switch event { - case http.EventResponse: - log := ctx.(*http.Event) - s.logger.Info(utils.Sprintf("%s %s %s", statusColor(log.Status), log.Method, log.Uri)) - case http.EventError: - log := ctx.(*http.Event) - - if _, ok := log.Error.(roadrunner.JobError); ok { - s.logger.Info(utils.Sprintf("%s %s %s", statusColor(log.Status), log.Method, log.Uri)) - } else { - s.logger.Info(utils.Sprintf( - "%s %s %s %s", - statusColor(log.Status), - log.Method, - log.Uri, - log.Error, - )) - } - } - - switch event { - case roadrunner.EventWorkerKill: - w := ctx.(*roadrunner.Worker) - s.logger.Warning(utils.Sprintf( - "worker.%v killed", - *w.Pid, - )) - - case roadrunner.EventWorkerError: - err := ctx.(roadrunner.WorkerError) - s.logger.Error(utils.Sprintf( - "worker.%v %s", - *err.Worker.Pid, - err.Caused, - )) - } - - // rr server events - switch event { - case roadrunner.EventServerFailure: - s.logger.Error(utils.Sprintf("server is dead")) - } - - // pool events - switch event { - case roadrunner.EventPoolConstruct: - s.logger.Debug(utils.Sprintf("new worker pool")) - case roadrunner.EventPoolError: - s.logger.Error(utils.Sprintf("%s", ctx)) - } -} - -// Serve serves. -func (s *listener) Serve() error { return nil } - -// Stop stops the Listener. -func (s *listener) Stop() {} - -func statusColor(status int) string { - if status < 300 { - return utils.Sprintf("%v", status) - } - - if status < 400 { - return utils.Sprintf("%v", status) - } - - if status < 500 { - return utils.Sprintf("%v", status) - } - - return utils.Sprintf("%v", status) -} diff --git a/cmd/rr/main.go b/cmd/rr/main.go index 40f191c6..4ab2fbe2 100644 --- a/cmd/rr/main.go +++ b/cmd/rr/main.go @@ -55,7 +55,7 @@ func main() { cobra.OnInitialize(func() { if debugMode { service, _ := rr.Container.Get(http.ID) - service.(*http.Service).AddListener(debug.NewListener(rr.Logger).Listener) + service.(*http.Service).AddListener(debug.Listener(rr.Logger)) } }) -- cgit v1.2.3