From 1c7c0dbb5174b5255912183b9ec5870ccdef3426 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 10 Sep 2020 14:57:52 +0100 Subject: printing client stats every other second only if the connection count has changed or when SIGUSR1 or SIGINFO recieved --- internal/server/continuous.go | 2 +- internal/server/handlers/serverhandler.go | 5 ++++- internal/server/scheduler.go | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'internal/server') diff --git a/internal/server/continuous.go b/internal/server/continuous.go index f3993a1..583d136 100644 --- a/internal/server/continuous.go +++ b/internal/server/continuous.go @@ -92,7 +92,7 @@ func (c *continuous) runJob(ctx context.Context, job config.Continuous) { } logger.Info(fmt.Sprintf("Starting job %s", job.Name)) - status := client.Start(jobCtx) + status := client.Start(jobCtx, make(chan struct{})) logMessage := fmt.Sprintf("Job exited with status %d", status) if status != 0 { diff --git a/internal/server/handlers/serverhandler.go b/internal/server/handlers/serverhandler.go index 34d2e30..7017f3e 100644 --- a/internal/server/handlers/serverhandler.go +++ b/internal/server/handlers/serverhandler.go @@ -85,8 +85,11 @@ func NewServerHandler(handlerCtx, serverCtx context.Context, user *user.User, ca func (h *ServerHandler) Read(p []byte) (n int, err error) { for { select { - case message := <-h.serverMessages: + if len(message) == 0 { + logger.Warn(h.user, "Empty message recieved") + return + } if message[0] == '.' { // Handle hidden message (don't display to the user, interpreted by dtail client) wholePayload := []byte(fmt.Sprintf("%s\n", message)) diff --git a/internal/server/scheduler.go b/internal/server/scheduler.go index 3345d69..9d76a3b 100644 --- a/internal/server/scheduler.go +++ b/internal/server/scheduler.go @@ -93,7 +93,7 @@ func (s *scheduler) runJobs(ctx context.Context) { defer cancel() logger.Info(fmt.Sprintf("Starting job %s", job.Name)) - status := client.Start(jobCtx) + status := client.Start(jobCtx, make(chan struct{})) logMessage := fmt.Sprintf("Job exited with status %d", status) if status != 0 { -- cgit v1.2.3