[add] migrate run command

This commit is contained in:
Max 2023-04-01 12:18:48 +08:00
parent d2c1f034a6
commit 82dfe75b2d
2 changed files with 17 additions and 3 deletions

View file

@ -33,13 +33,17 @@ var runCmd = &cobra.Command{
Boot() Boot()
cfg := config.Conf cfg := config.Conf
cfg.Session.IsCLI = true cfg.Session.IsCLI = true
engine.Load(cfg)
if len(args) < 1 { if len(args) < 1 {
fmt.Println(color.RedString(L("Not enough arguments"))) fmt.Println(color.RedString(L("Not enough arguments")))
fmt.Println(color.WhiteString(share.BUILDNAME + " help")) fmt.Println(color.WhiteString(share.BUILDNAME + " help"))
return return
} }
err := engine.Load(cfg)
if err != nil {
fmt.Println(color.RedString(L("Engine: %s"), err.Error()))
}
name := args[0] name := args[0]
fmt.Println(color.GreenString(L("Run: %s"), name)) fmt.Println(color.GreenString(L("Run: %s"), name))
pargs := []interface{}{} pargs := []interface{}{}
@ -48,7 +52,7 @@ var runCmd = &cobra.Command{
continue continue
} }
// 解析参数 // Parse the arguments
if strings.HasPrefix(arg, "::") { if strings.HasPrefix(arg, "::") {
arg := strings.TrimPrefix(arg, "::") arg := strings.TrimPrefix(arg, "::")
var v interface{} var v interface{}
@ -59,10 +63,12 @@ var runCmd = &cobra.Command{
} }
pargs = append(pargs, v) pargs = append(pargs, v)
fmt.Println(color.WhiteString("args[%d]: %s", i-1, arg)) fmt.Println(color.WhiteString("args[%d]: %s", i-1, arg))
} else if strings.HasPrefix(arg, "\\::") { } else if strings.HasPrefix(arg, "\\::") {
arg := "::" + strings.TrimPrefix(arg, "\\::") arg := "::" + strings.TrimPrefix(arg, "\\::")
pargs = append(pargs, arg) pargs = append(pargs, arg)
fmt.Println(color.WhiteString("args[%d]: %s", i-1, arg)) fmt.Println(color.WhiteString("args[%d]: %s", i-1, arg))
} else { } else {
pargs = append(pargs, arg) pargs = append(pargs, arg)
fmt.Println(color.WhiteString("args[%d]: %s", i-1, arg)) fmt.Println(color.WhiteString("args[%d]: %s", i-1, arg))
@ -71,7 +77,11 @@ var runCmd = &cobra.Command{
} }
process := process.New(name, pargs...) process := process.New(name, pargs...)
res := process.Run() res, err := process.Exec()
if err != nil {
fmt.Println(color.RedString(L("Process: %s"), err.Error()))
}
fmt.Println(color.WhiteString("--------------------------------------")) fmt.Println(color.WhiteString("--------------------------------------"))
fmt.Println(color.WhiteString(L("%s Response"), name)) fmt.Println(color.WhiteString(L("%s Response"), name))
fmt.Println(color.WhiteString("--------------------------------------")) fmt.Println(color.WhiteString("--------------------------------------"))

View file

@ -13,6 +13,7 @@ import (
"github.com/yaoapp/gou/api" "github.com/yaoapp/gou/api"
"github.com/yaoapp/gou/connector" "github.com/yaoapp/gou/connector"
"github.com/yaoapp/gou/fs" "github.com/yaoapp/gou/fs"
"github.com/yaoapp/gou/plugin"
"github.com/yaoapp/gou/schedule" "github.com/yaoapp/gou/schedule"
"github.com/yaoapp/gou/server/http" "github.com/yaoapp/gou/server/http"
"github.com/yaoapp/gou/store" "github.com/yaoapp/gou/store"
@ -35,6 +36,9 @@ var startCmd = &cobra.Command{
Long: L("Start Engine"), Long: L("Start Engine"),
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
defer share.SessionStop()
defer plugin.KillAll()
// Setup // Setup
if setup.Check() { if setup.Check() {
go setup.Start() go setup.Start()