diff --git a/client/client_test.go b/client/client_test.go index 46a69f5f..fb4f2eb7 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -357,7 +357,7 @@ func TestNexClient_CloneWorkload(t *testing.T) { be.NilErr(t, err) defer nc.Close() - client, err := NewClient(context.Background(), nc, "user", WithAuctionStall(1*time.Second)) + client, err := NewClient(context.Background(), nc, "user", WithAuctionStall(5*time.Second)) be.NilErr(t, err) be.Nonzero(t, client) diff --git a/handlers.go b/handlers.go index 73b09016..fd8d39e8 100644 --- a/handlers.go +++ b/handlers.go @@ -372,8 +372,8 @@ func (n *NexNode) handleStopWorkload() func(micro.Request) { err = r.RespondJSON(ret) if err != nil { n.logger.Error("failed to respond to stop workload request", slog.String("err", err.Error())) - return } + return } msgs(func(m *nats.Msg, e error) bool { diff --git a/internal/watcher.go b/internal/watcher.go index ae02fe3e..644b2379 100644 --- a/internal/watcher.go +++ b/internal/watcher.go @@ -228,11 +228,11 @@ func (a *AgentWatcher) StartLocalBinaryAgent(ap *AgentProcess, regCreds *models. ap.agentLock.Unlock() - state, err := cmd.Process.Wait() + err = cmd.Wait() if err != nil { a.logger.Error("Nexlet process exited with error", slog.Int("process", ap.Process.Pid), slog.String("err", err.Error())) - } else if state != nil && ap.state != models.AgentStateStopping || ap.state != models.AgentStateLameduck { - a.logger.Warn("Nexlet process unexpectedly exited with state", slog.Any("state", state), slog.Int("process", ap.Process.Pid)) + } else if cmd.ProcessState != nil && ap.state != models.AgentStateStopping && ap.state != models.AgentStateLameduck { + a.logger.Warn("Nexlet process unexpectedly exited with state", slog.Any("state", cmd.ProcessState), slog.Int("process", ap.Process.Pid)) } a.agentCount-- diff --git a/sdk/go/agent/runner.go b/sdk/go/agent/runner.go index 6782bad0..e65cbc7d 100644 --- a/sdk/go/agent/runner.go +++ b/sdk/go/agent/runner.go @@ -314,6 +314,9 @@ func (a *Runner) performHeartbeat() { } func (a *Runner) Shutdown() error { + if a.micro == nil { + return nil + } return a.micro.Stop() }