Commit 556691ac authored by 魏灿's avatar 魏灿

脚本实时输出返回

parent feb21ce5
package service package service
import ( import (
"bufio"
"context" "context"
"errors" "errors"
"fmt" "fmt"
...@@ -186,7 +187,7 @@ func (t *TaskManageSvc) ListTaskManage(req request.ListTaskManageReq) (total int ...@@ -186,7 +187,7 @@ func (t *TaskManageSvc) ListTaskManage(req request.ListTaskManageReq) (total int
return 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 != "" { if req.ScriptUrl != "" {
minioClient, err := client.GetMinioConnect() minioClient, err := client.GetMinioConnect()
if err != nil { if err != nil {
...@@ -251,11 +252,19 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data interface{}, ...@@ -251,11 +252,19 @@ func (t *TaskManageSvc) ExecScript(req request.ExecScriptReq) (data interface{},
} else { } else {
cmd = exec.Command("ansible-playbook", "-i", "/etc/ansible/hosts", "/etc/ansible/ansible.yml") cmd = exec.Command("ansible-playbook", "-i", "/etc/ansible/hosts", "/etc/ansible/ansible.yml")
} }
output, err := cmd.Output() stdout, err := cmd.StdoutPipe()
if err != nil { if err != nil {
err = resp.CmdExecError.WithError(err) return nil, resp.CmdExecError.WithError(err)
return
} }
fmt.Println(string(output)) outputBuf := bufio.NewReader(stdout)
return string(output), nil 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
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment