1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-26 09:34:05 +08:00
This commit is contained in:
harveyshao 2021-06-15 06:53:04 +08:00
parent 419a1d09f5
commit a61acd37aa
3 changed files with 17 additions and 7 deletions

View File

@ -71,6 +71,7 @@ func NodeInfo(m *ice.Message, kind, name string) {
const (
MAKE = "make"
TEST = "test"
CONF = "conf"
HOST = "host"
BOOT = "boot"

View File

@ -52,6 +52,10 @@ func _daemon_show(m *ice.Message, cmd *exec.Cmd, out, err string) {
m.Cmd(mdb.MODIFY, DAEMON, "", mdb.HASH, kit.MDB_HASH, h, kit.MDB_STATUS, STOP)
}
if m.Option(AUTO_RESTART) == ice.TRUE {
m.Cmd(DAEMON, START)
}
if w, ok := m.Optionv(CMD_OUTPUT).(io.Closer); ok {
w.Close()
}
@ -71,10 +75,12 @@ const (
ERR = "err"
)
const (
RESTART = "restart"
START = "start"
ERROR = "error"
START = "start"
RESTART = "restart"
STOP = "stop"
AUTO_RESTART = "auto_restart"
)
const DAEMON = "daemon"
@ -90,16 +96,16 @@ func init() {
}},
DAEMON: {Name: "daemon hash auto start prunes", Help: "守护进程", Action: map[string]*ice.Action{
RESTART: {Name: "restart", Help: "重启", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(DAEMON, STOP)
m.Sleep("3s")
m.Cmdy(DAEMON, START)
}},
START: {Name: "start cmd env dir", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Option(CMD_DIR, m.Option(DIR))
m.Option(CMD_ENV, kit.Split(m.Option(ENV), " ="))
m.Cmdy(DAEMON, kit.Split(m.Option(CMD)))
}},
RESTART: {Name: "restart", Help: "重启", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(DAEMON, STOP)
m.Sleep("3s")
m.Cmdy(DAEMON, START)
}},
STOP: {Name: "stop", Help: "停止", Hand: func(m *ice.Message, arg ...string) {
m.Option(mdb.FIELDS, "time,hash,status,pid,cmd,dir,env")
m.Cmd(mdb.SELECT, DAEMON, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH)).Table(func(index int, value map[string]string, head []string) {

View File

@ -315,6 +315,9 @@ func (m *Message) Status(arg ...interface{}) {
}
m.Option(MSG_STATUS, kit.Format(list))
}
func (m *Message) StatusTimeCount(arg ...interface{}) {
m.Status(kit.MDB_TIME, m.Time(), kit.MDB_COUNT, m.FormatSize(), arg)
}
func (m *Message) Process(action string, arg ...interface{}) {
m.Option(MSG_PROCESS, action)