From 46dd289c2898680f925338cde965c27e623ba7da Mon Sep 17 00:00:00 2001 From: mountain Date: Tue, 12 Nov 2024 16:43:39 +0900 Subject: [PATCH] =?UTF-8?q?hosuton=20=EC=A2=85=EB=A3=8C=20=EC=95=88?= =?UTF-8?q?=EB=90=98=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/client.go | 6 +++++- server/http_handler.go | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/client/client.go b/client/client.go index 2d37a30..ac627c1 100644 --- a/client/client.go +++ b/client/client.go @@ -336,6 +336,7 @@ func NewClient(standalone bool) (HoustonClient, error) { exitChan := make(chan *exec.Cmd, 10) operationChan := make(chan *protos.OperationQueryResponse, 10) hc.wg.Add(1) + ignoreRecover := int32(0) // autorun 처리 go func() { @@ -510,7 +511,7 @@ func NewClient(standalone bool) (HoustonClient, error) { found.cmd.Wait() found.cmd.Process.Release() - if found.recover { + if found.recover && atomic.LoadInt32(&ignoreRecover) == 0 { time.Sleep(time.Second) sr := shared.StartProcessRequest{ Name: found.name, @@ -539,6 +540,8 @@ func NewClient(standalone bool) (HoustonClient, error) { hc.shutdownFunc = func() { // child process 강제 종료 + atomic.StoreInt32(&ignoreRecover, 1) + for _, procmeta := range hc.childProcs { if procmeta.cmd != nil && procmeta.cmd.Process != nil { procmeta.cmd.Process.Signal(os.Kill) @@ -633,6 +636,7 @@ func (hc *houstonClient) Start() { // upload 고루틴 url := hc.config.HttpAddress + "/upload" for req := range hc.uploadChan { + logger.Println("uploadSafe :", req) err := uploadSafe(url, req.logFile, req.name, req.version) if err != nil { logger.Println("uploadSafe return err :", err) diff --git a/server/http_handler.go b/server/http_handler.go index 702aa4c..9a6118c 100644 --- a/server/http_handler.go +++ b/server/http_handler.go @@ -141,7 +141,6 @@ func (h *houstonHandler) RegisterHandlers(serveMux gocommon.ServerMuxInterface, filepath := path.Join(dir, filename) // filepath가 이미 있으면 append localfile, _ := os.OpenFile(filepath, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0666) - logger.Println("file uploaded :", localfile) if localfile != nil { defer localfile.Close() if _, err = io.Copy(localfile, r.Body); err != nil {