hosuton 종료 안되는 문제 수정

This commit is contained in:
2024-11-12 16:43:39 +09:00
parent 43b5aee48b
commit 46dd289c28
2 changed files with 5 additions and 2 deletions

View File

@ -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)