From 556691acec96466892e258bcaf0ef24286f35c83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E7=81=BF?= Date: Tue, 4 Jul 2023 14:26:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=84=9A=E6=9C=AC=E5=AE=9E=E6=97=B6=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/task_manage.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/service/task_manage.go b/src/service/task_manage.go index 0199ebc..c22ea38 100644 --- a/src/service/task_manage.go +++ b/src/service/task_manage.go @@ -1,6 +1,7 @@ package service import ( + "bufio" "context" "errors" "fmt" @@ -186,7 +187,7 @@ func (t *TaskManageSvc) ListTaskManage(req request.ListTaskManageReq) (total int return } -func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data interface{}, err error) { +func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data map[string]interface{}, err error) { if req.ScriptUrl != "" { minioClient, err := client.GetMinioConnect() if err != nil { @@ -251,11 +252,19 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data interface{}, } else { cmd = exec.Command("ansible-playbook", "-i", "/etc/ansible/hosts", "/etc/ansible/ansible.yml") } - output, err := cmd.Output() + stdout, err := cmd.StdoutPipe() if err != nil { - err = resp.CmdExecError.WithError(err) - return + return nil, resp.CmdExecError.WithError(err) } - fmt.Println(string(output)) - return string(output), nil + outputBuf := bufio.NewReader(stdout) + output, isPrefix, err := outputBuf.ReadLine() + //output, err := cmd.Output() + //if err != nil { + // err = resp.CmdExecError.WithError(err) + // return + //} + //fmt.Println(string(output)) + data["step"] = isPrefix + data["output"] = string(output) + return data, nil } -- 2.26.0