diff --git a/base/cli/runtime.go b/base/cli/runtime.go index f27762b4..96d5681a 100644 --- a/base/cli/runtime.go +++ b/base/cli/runtime.go @@ -250,8 +250,13 @@ func init() { m.Cmdy("web.code.upgrade") } }}, - RESTART: {Help: "重启", Hand: func(m *ice.Message, arg ...string) { m.Go(func() { m.Sleep30ms(ice.EXIT, 1) }) }}, - "reboot": {Help: "清空", Hand: func(m *ice.Message, arg ...string) { m.Go(func() { m.Sleep30ms(ice.QUIT, 1) }) }}, + RESTART: {Help: "重启", Hand: func(m *ice.Message, arg ...string) { + m.Go(func() { m.Sleep30ms(ice.EXIT, 1) }) + }}, + "reboot": {Help: "清空", Hand: func(m *ice.Message, arg ...string) { + m.Cmd(SYSTEM, "git", "stash") + m.Go(func() { m.Sleep30ms(ice.QUIT, 1) }) + }}, "logs": {Help: "日志", Hand: func(m *ice.Message, arg ...string) { OpenCmds(m, kit.Format("cd %s", kit.Path("")), "tail -f var/log/bench.log") }}, diff --git a/base/web/route.go b/base/web/route.go index 213ef870..68b0ed03 100644 --- a/base/web/route.go +++ b/base/web/route.go @@ -25,8 +25,10 @@ func _route_match(m *ice.Message, space string, cb func(ice.Maps, int, []ice.Map return } list := []ice.Maps{} - mdb.HashSelect(m.Spawn()).Table(func(value ice.Maps) { - if value[SPACE] == space { + m.Cmd("").Table(func(value ice.Maps) { + if value[mdb.STATUS] == OFFLINE { + + } else if value[SPACE] == space { list = append(list, value) } else if reg.MatchString(kit.Format("%s:%s=%s@%s", value[SPACE], value[mdb.TYPE], value[nfs.MODULE], value[nfs.VERSION])) { list = append(list, value) @@ -63,9 +65,7 @@ const ROUTE = "route" func init() { Index.MergeCommands(ice.Commands{ ROUTE: {Name: "route space:text cmds:text auto spide cmds build travel prunes", Icon: "Podcasts.png", Help: "路由表", Actions: ice.MergeActions(ice.Actions{ - ice.MAIN: {Help: "首页", Hand: func(m *ice.Message, arg ...string) { - ctx.ProcessField(m, CHAT_IFRAME, m.MergePod(""), arg...) - }}, + ice.MAIN: {Help: "首页", Hand: func(m *ice.Message, arg ...string) { ctx.ProcessField(m, CHAT_IFRAME, m.MergePod(""), arg...) }}, mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { switch mdb.HashInputs(m, arg); arg[0] { case SPACE: @@ -83,7 +83,8 @@ func init() { }}, cli.BUILD: {Name: "build space", Help: "构建", Hand: func(m *ice.Message, arg ...string) { _route_toast(m, m.Option(SPACE), m.PrefixKey(), "_build") - m.Sleep("1s").Cmdy("", "travel") + func() { defer ToastProcess(m)(); m.Sleep("3s") }() + m.Cmdy("", "travel") }}, "_build": {Hand: func(m *ice.Message, arg ...string) { if _, err := nfs.DiskFile.StatFile(ice.SRC_MAIN_GO); err == nil && nfs.Exists(m, ".git") { @@ -121,6 +122,11 @@ func init() { PushPodCmd(m, "", m.ActionKey()) m.Table(func(value ice.Maps) { kit.If(value[SPACE], func() { mdb.HashCreate(m.Spawn(), kit.Simple(value)) }) }) }}, + mdb.PRUNES: &ice.Action{Name: "prunes status=offline", Hand: func(m *ice.Message, arg ...string) { + m.Cmd("", func(value ice.Maps) { + kit.If(value[mdb.STATUS] == OFFLINE, func() { mdb.HashRemove(m, SPACE, value[SPACE]) }) + }) + }}, }, mdb.HashAction(mdb.SHORT, SPACE, mdb.FIELD, "time,space,type,module,version,md5,size,path,hostname", mdb.SORT, "type,space", mdb.ACTION, ice.MAIN)), Hand: func(m *ice.Message, arg ...string) { if len(arg) > 1 { _route_match(m, arg[0], func(value ice.Maps, i int, list []ice.Maps) { @@ -131,8 +137,7 @@ func init() { } else { m.OptionFields("") list := m.CmdMap(SPACE, mdb.NAME) - stat := map[string]int{} - size := 0 + size, stat := 0, map[string]int{} m.Table(func(value ice.Maps) { size += kit.Int(kit.Select("", kit.Split(value[nfs.SIZE], nfs.PS), 1)) if _, ok := list[value[SPACE]]; ok { @@ -142,10 +147,7 @@ func init() { m.Push(mdb.STATUS, OFFLINE) stat[OFFLINE]++ } - }) - m.Sort("status,space", ice.STR_R, ice.STR) - m.StatusTimeCount(stat, nfs.SIZE, kit.FmtSize(size)) - m.Options(ice.MSG_ACTION, "") + }).Sort("status,space", ice.STR_R, ice.STR).StatusTimeCount(stat, nfs.SIZE, kit.FmtSize(size)).Options(ice.MSG_ACTION, "") } }}, }) diff --git a/misc/git/search.go b/misc/git/search.go index adb15a28..8b18566a 100644 --- a/misc/git/search.go +++ b/misc/git/search.go @@ -68,7 +68,7 @@ func init() { button = append(button, CLONE) kit.For([]string{HTML_URL, WEBSITE}, func(key string) { kit.If(kit.Format(value[key]), func() { button = append(button, key) }) }) m.PushButton(button...) - m.Echo(kit.Formats(value)) + // m.Echo(kit.Formats(value)) }) m.RenameAppend(CLONE_URL, REPOS).Action(ORIGIN).Display("") }},