버전 폴더 확인 로직 수정

This commit is contained in:
2023-05-22 15:39:08 +09:00
parent ca389dfb5c
commit ac7902e7ae

View File

@ -8,6 +8,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"io" "io"
"io/fs"
"net/http" "net/http"
"os" "os"
"os/exec" "os/exec"
@ -84,9 +85,15 @@ func findLastestVersion(root string) (string, error) {
if len(entries) == 0 { if len(entries) == 0 {
return "", nil return "", nil
} }
latest := parseVersionString(entries[0].Name()) var dironly []fs.DirEntry
for i := 1; i < len(entries); i++ { for _, ent := range entries {
next := parseVersionString(entries[i].Name()) if ent.IsDir() {
dironly = append(dironly, ent)
}
}
latest := parseVersionString(dironly[0].Name())
for i := 1; i < len(dironly); i++ {
next := parseVersionString(dironly[i].Name())
if compareVersionString(latest, next) < 0 { if compareVersionString(latest, next) < 0 {
latest = next latest = next
} }
@ -153,8 +160,7 @@ func (meta *procmeta) launch(args []string, exitChan chan<- *exec.Cmd) error {
break break
} }
errfile.Write(buff[:size]) errfile.Write(buff[:size])
new := atomic.AddInt32(&meta.stderrSize, int32(size)) atomic.AddInt32(&meta.stderrSize, int32(size))
logger.Println("stderrSize :", new)
} }
}() }()
@ -173,8 +179,7 @@ func (meta *procmeta) launch(args []string, exitChan chan<- *exec.Cmd) error {
break break
} }
outfile.Write(buff[:size]) outfile.Write(buff[:size])
new := atomic.AddInt32(&meta.stdoutSize, int32(size)) atomic.AddInt32(&meta.stdoutSize, int32(size))
logger.Println("stdoutSize :", new)
} }
}() }()
@ -192,6 +197,7 @@ func (meta *procmeta) launch(args []string, exitChan chan<- *exec.Cmd) error {
} }
func (hc *houstonClient) startChildProcess(req *shared.StartProcessRequest) error { func (hc *houstonClient) startChildProcess(req *shared.StartProcessRequest) error {
logger.Println("startChildProcess :", *req)
if req.Version == "latest" { if req.Version == "latest" {
// 최신 버전을 찾음 // 최신 버전을 찾음
latest, err := findLastestVersion(path.Join("./", req.Name)) latest, err := findLastestVersion(path.Join("./", req.Name))
@ -211,6 +217,7 @@ func (hc *houstonClient) startChildProcess(req *shared.StartProcessRequest) erro
verpath := path.Join("./", req.Name, req.Version) verpath := path.Join("./", req.Name, req.Version)
fi, err := os.Stat(verpath) fi, err := os.Stat(verpath)
if err == nil && fi.IsDir() { if err == nil && fi.IsDir() {
logger.Println("path found :", verpath)
// Define regular expression // Define regular expression
re := regexp.MustCompile(`[^\s"']+|"([^"]*)"|'([^']*)`) re := regexp.MustCompile(`[^\s"']+|"([^"]*)"|'([^']*)`)