1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-25 17:18:05 +08:00
This commit is contained in:
harveyshao 2022-03-19 19:06:52 +08:00
parent 5227398cec
commit 26b9667279
4 changed files with 25 additions and 5 deletions

View File

@ -32,16 +32,20 @@ func _daemon_exec(m *ice.Message, cmd *exec.Cmd) {
m.OptionSimple(CMD_OUTPUT, CMD_ERRPUT, mdb.CACHE_CLEAR_ON_EXIT),
)
if e := cmd.Wait(); m.Warn(e, ice.ErrNotStart, cmd.Args) {
if e := cmd.Wait(); !m.Warn(e, ice.ErrNotStart, cmd.Args) && cmd.ProcessState.ExitCode() == 0 {
m.Cost(CODE, cmd.ProcessState.ExitCode(), ctx.ARGS, cmd.Args)
m.Cmd(mdb.MODIFY, DAEMON, "", mdb.HASH, mdb.HASH, h, STATUS, STOP)
} else {
if m.Conf(DAEMON, kit.Keys(mdb.HASH, h, kit.Keym(STATUS))) == START {
m.Cmd(mdb.MODIFY, DAEMON, "", mdb.HASH, mdb.HASH, h, STATUS, ERROR, ERROR, e)
}
} else {
m.Cost(CODE, cmd.ProcessState.ExitCode(), ctx.ARGS, cmd.Args)
m.Cmd(mdb.MODIFY, DAEMON, "", mdb.HASH, mdb.HASH, h, STATUS, STOP)
}
switch m.Sleep300ms(); cb := m.OptionCB(DAEMON).(type) {
case func(string) bool:
if !cb(m.Conf(DAEMON, kit.Keys(mdb.HASH, h, kit.Keym(STATUS)))) {
m.Cmdy(DAEMON, cmd.Path, cmd.Args)
}
case func(string):
cb(m.Conf(DAEMON, kit.Keys(mdb.HASH, h, kit.Keym(STATUS))))
case func():

View File

@ -373,7 +373,11 @@ func init() {
"/publish/": {Name: "/publish/", Help: "定制化", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
if arg[0] == ice.ORDER_JS {
if p := path.Join(ice.USR_PUBLISH, ice.ORDER_JS); m.PodCmd(nfs.CAT, p) {
m.RenderResult()
if m.IsErr() {
m.RenderResult("")
} else {
m.RenderResult()
}
return
}
}

View File

@ -426,6 +426,9 @@ func (m *Message) Option(key string, arg ...interface{}) string {
return kit.Select("", kit.Simple(m.Optionv(key, arg...)), 0)
}
func (m *Message) Append(key string, arg ...interface{}) string {
if key == "" {
return m.Append(m.Appendv(MSG_APPEND)[0])
}
return kit.Select("", m.Appendv(key, arg...), 0)
}
func (m *Message) Appendv(key string, arg ...interface{}) []string {

View File

@ -113,8 +113,17 @@ func (m *Message) SetResult(arg ...string) *Message {
func (m *Message) SetAppend(arg ...string) *Message {
return m.Set(MSG_APPEND, arg...)
}
func (m *Message) ToLowerAppend(arg ...string) *Message {
for _, k := range m.meta[MSG_APPEND] {
m.RenameAppend(k, strings.ToLower(k))
}
return m
}
func (m *Message) RenameAppend(arg ...string) *Message { // [from to]...
for i := 0; i < len(arg)-1; i += 2 {
if arg[i] == arg[i+1] {
continue
}
for j, v := range m.meta[MSG_APPEND] {
if v == arg[i] {
m.meta[MSG_APPEND][j] = arg[i+1]