mirror of
https://shylinux.com/x/icebergs
synced 2025-06-26 18:37:29 +08:00
opt some
This commit is contained in:
parent
050e796486
commit
15afccc923
@ -20,6 +20,7 @@ func init() {
|
|||||||
mdb.ZoneInsert(m, m.OptionSimple(EVENT, ice.CMD))
|
mdb.ZoneInsert(m, m.OptionSimple(EVENT, ice.CMD))
|
||||||
}},
|
}},
|
||||||
HAPPEN: {Name: "happen event", Help: "触发", Hand: func(m *ice.Message, arg ...string) {
|
HAPPEN: {Name: "happen event", Help: "触发", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Debug(m.FormatChain())
|
||||||
defer m.Cost()
|
defer m.Cost()
|
||||||
m.OptionCB(mdb.SELECT, "")
|
m.OptionCB(mdb.SELECT, "")
|
||||||
mdb.ZoneSelect(m.Spawn(ice.OptionFields("")), m.Option(EVENT)).Tables(func(value ice.Maps) {
|
mdb.ZoneSelect(m.Spawn(ice.OptionFields("")), m.Option(EVENT)).Tables(func(value ice.Maps) {
|
||||||
|
@ -57,7 +57,7 @@ const BROAD = "broad"
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
BROAD: {Name: "broad hash auto serve", Help: "广播", Actions: ice.MergeActions(ice.Actions{
|
BROAD: {Name: "broad hash auto", Help: "广播", Actions: ice.MergeActions(ice.Actions{
|
||||||
SERVE: {Name: "serve port=9020", Hand: func(m *ice.Message, arg ...string) {
|
SERVE: {Name: "serve port=9020", Hand: func(m *ice.Message, arg ...string) {
|
||||||
_broad_serve(m, m.Cmd(tcp.HOST).Append(aaa.IP), m.Option(tcp.PORT))
|
_broad_serve(m, m.Cmd(tcp.HOST).Append(aaa.IP), m.Option(tcp.PORT))
|
||||||
}},
|
}},
|
||||||
|
@ -19,7 +19,7 @@ func _dream_list(m *ice.Message) *ice.Message {
|
|||||||
list := m.CmdMap(SPACE, mdb.NAME)
|
list := m.CmdMap(SPACE, mdb.NAME)
|
||||||
m.Cmdy(nfs.DIR, ice.USR_LOCAL_WORK, "time,size,name").Tables(func(value ice.Maps) {
|
m.Cmdy(nfs.DIR, ice.USR_LOCAL_WORK, "time,size,name").Tables(func(value ice.Maps) {
|
||||||
if space, ok := list[value[mdb.NAME]]; ok {
|
if space, ok := list[value[mdb.NAME]]; ok {
|
||||||
msg := gdb.Event(m.Spawn(), DREAM_TABLES, mdb.NAME, value[mdb.NAME], mdb.TYPE, space[mdb.TYPE]).Copy(m.Spawn().PushButton(cli.STOP))
|
msg := gdb.Event(m.Spawn(value, space), DREAM_TABLES).Copy(m.Spawn().PushButton(cli.STOP))
|
||||||
m.Push(mdb.TYPE, space[mdb.TYPE])
|
m.Push(mdb.TYPE, space[mdb.TYPE])
|
||||||
m.Push(cli.STATUS, cli.START)
|
m.Push(cli.STATUS, cli.START)
|
||||||
m.Push(mdb.TEXT, msg.Append(mdb.TEXT))
|
m.Push(mdb.TEXT, msg.Append(mdb.TEXT))
|
||||||
@ -49,23 +49,22 @@ func _dream_show(m *ice.Message, name string) {
|
|||||||
m.Info("already exists %v", name)
|
m.Info("already exists %v", name)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
nfs.MkdirAll(m, p)
|
|
||||||
_dream_template(m, p)
|
_dream_template(m, p)
|
||||||
m.Optionv(cli.CMD_DIR, kit.Path(p))
|
defer ToastProcess(m)()
|
||||||
m.Optionv(cli.CMD_ENV, kit.Simple(
|
defer m.Sleep3s()
|
||||||
cli.CTX_OPS, "http://:"+m.CmdAppend(SERVE, tcp.PORT),
|
m.Options(cli.CMD_DIR, kit.Path(p), cli.CMD_ENV, kit.Simple(
|
||||||
|
cli.CTX_OPS, "http://localhost:"+m.CmdAppend(SERVE, tcp.PORT),
|
||||||
cli.PATH, cli.BinPath(kit.Path(p, ice.BIN)), cli.USER, ice.Info.UserName,
|
cli.PATH, cli.BinPath(kit.Path(p, ice.BIN)), cli.USER, ice.Info.UserName,
|
||||||
kit.EnvSimple(cli.HOME, cli.TERM, cli.SHELL), m.Configv(cli.ENV),
|
kit.EnvSimple(cli.HOME, cli.TERM, cli.SHELL), m.Configv(cli.ENV),
|
||||||
))
|
))
|
||||||
m.Optionv(cli.CMD_OUTPUT, path.Join(p, ice.BIN_BOOT_LOG))
|
m.Optionv(cli.CMD_OUTPUT, path.Join(p, ice.BIN_BOOT_LOG))
|
||||||
defer m.Options(cli.CMD_DIR, "", cli.CMD_ENV, "", cli.CMD_OUTPUT, "")
|
defer m.Options(cli.CMD_DIR, "", cli.CMD_ENV, "", cli.CMD_OUTPUT, "")
|
||||||
gdb.Event(m, DREAM_CREATE, m.OptionSimple(mdb.NAME, mdb.TYPE))
|
gdb.Event(m, DREAM_CREATE, m.OptionSimple(mdb.NAME, mdb.TYPE))
|
||||||
defer ToastProcess(m)()
|
|
||||||
bin := kit.Select(os.Args[0], cli.SystemFind(m, ice.ICE_BIN, nfs.PWD+path.Join(p, ice.BIN), nfs.PWD+ice.BIN))
|
bin := kit.Select(os.Args[0], cli.SystemFind(m, ice.ICE_BIN, nfs.PWD+path.Join(p, ice.BIN), nfs.PWD+ice.BIN))
|
||||||
m.Cmd(cli.DAEMON, bin, SPACE, tcp.DIAL, ice.DEV, ice.OPS, mdb.TYPE, WORKER, m.OptionSimple(mdb.NAME, RIVER), cli.DAEMON, ice.OPS)
|
m.Cmd(cli.DAEMON, bin, SPACE, tcp.DIAL, ice.DEV, ice.OPS, mdb.TYPE, WORKER, m.OptionSimple(mdb.NAME, RIVER), cli.DAEMON, ice.OPS)
|
||||||
m.Sleep3s()
|
|
||||||
}
|
}
|
||||||
func _dream_template(m *ice.Message, p string) {
|
func _dream_template(m *ice.Message, p string) {
|
||||||
|
nfs.MkdirAll(m, p)
|
||||||
if m.Option(nfs.TEMPLATE) == "" {
|
if m.Option(nfs.TEMPLATE) == "" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -102,7 +101,7 @@ func init() {
|
|||||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
case mdb.NAME, nfs.TEMPLATE:
|
case mdb.NAME, nfs.TEMPLATE:
|
||||||
_dream_list(m).Cut(arg[0], "status,time")
|
_dream_list(m).Cut("name,status,time")
|
||||||
default:
|
default:
|
||||||
gdb.Event(m, "", arg)
|
gdb.Event(m, "", arg)
|
||||||
}
|
}
|
||||||
@ -128,8 +127,15 @@ func init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
OPEN: {Hand: func(m *ice.Message, arg ...string) { ProcessIframe(m, MergePod(m, m.Option(mdb.NAME)), arg...) }},
|
DREAM_TABLES: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
}, ctx.CmdAction(), gdb.EventsAction(DREAM_OPEN)), Hand: func(m *ice.Message, arg ...string) {
|
m.Debug(m.FormatChain())
|
||||||
|
switch m.Option(mdb.TYPE) {
|
||||||
|
case SERVER, WORKER:
|
||||||
|
m.PushButton(OPEN)
|
||||||
|
}
|
||||||
|
}},
|
||||||
|
OPEN: {Hand: func(m *ice.Message, arg ...string) { ctx.ProcessOpen(m, MergePod(m, m.Option(mdb.NAME), arg)) }},
|
||||||
|
}, ctx.CmdAction(), DreamAction()), Hand: func(m *ice.Message, arg ...string) {
|
||||||
if len(arg) == 0 {
|
if len(arg) == 0 {
|
||||||
_dream_list(m)
|
_dream_list(m)
|
||||||
} else if arg[0] == ctx.ACTION {
|
} else if arg[0] == ctx.ACTION {
|
||||||
@ -142,9 +148,5 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func DreamAction() ice.Actions {
|
func DreamAction() ice.Actions {
|
||||||
return ice.MergeActions(ice.Actions{
|
return gdb.EventsAction(DREAM_OPEN, DREAM_INPUTS, DREAM_TABLES, DREAM_ACTION)
|
||||||
DREAM_INPUTS: {Hand: func(m *ice.Message, arg ...string) {}},
|
|
||||||
DREAM_TABLES: {Hand: func(m *ice.Message, arg ...string) {}},
|
|
||||||
DREAM_ACTION: {Hand: func(m *ice.Message, arg ...string) {}},
|
|
||||||
}, gdb.EventAction(DREAM_TABLES, DREAM_ACTION))
|
|
||||||
}
|
}
|
||||||
|
@ -151,15 +151,12 @@ const SERVE = "serve"
|
|||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
SERVE: {Name: "serve name auto start", Help: "服务器", Actions: ice.MergeActions(ice.Actions{
|
SERVE: {Name: "serve name auto start", Help: "服务器", Actions: ice.MergeActions(ice.Actions{
|
||||||
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
|
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { cli.NodeInfo(m, ice.Info.PathName, WORKER) }},
|
||||||
cli.NodeInfo(m, ice.Info.PathName, WORKER)
|
|
||||||
aaa.White(m, LOGIN)
|
|
||||||
}},
|
|
||||||
cli.START: {Name: "start dev name=web proto=http host port=9020 nodename username usernick", Hand: func(m *ice.Message, arg ...string) {
|
cli.START: {Name: "start dev name=web proto=http host port=9020 nodename username usernick", Hand: func(m *ice.Message, arg ...string) {
|
||||||
_serve_start(m)
|
_serve_start(m)
|
||||||
}},
|
}},
|
||||||
SERVE_START: {Hand: func(m *ice.Message, arg ...string) {
|
SERVE_START: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Sleep("30ms", ssh.PRINTF, kit.Dict(nfs.CONTENT, "\r"+ice.Render(m, ice.RENDER_QRCODE, m.Cmdx(SPACE, DOMAIN))+ice.NL))
|
m.Sleep30ms().Cmd(ssh.PRINTF, kit.Dict(nfs.CONTENT, "\r"+ice.Render(m, ice.RENDER_QRCODE, m.Cmdx(SPACE, DOMAIN))+ice.NL))
|
||||||
}},
|
}},
|
||||||
SERVE_REWRITE: {Hand: func(m *ice.Message, arg ...string) {
|
SERVE_REWRITE: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
if arg[0] != SPIDE_GET {
|
if arg[0] != SPIDE_GET {
|
||||||
|
@ -224,9 +224,5 @@ func back(m *ice.Message, res *ice.Message) bool {
|
|||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
func addSend(m *ice.Message, msg *ice.Message) string {
|
func addSend(m *ice.Message, msg *ice.Message) string { return m.Target().Server().(*Frame).addSend(kit.Format(m.Target().ID()), msg) }
|
||||||
return m.Target().Server().(*Frame).addSend(kit.Format(m.Target().ID()), msg)
|
func getSend(m *ice.Message, key string) *ice.Message { return m.Target().Server().(*Frame).getSend(key) }
|
||||||
}
|
|
||||||
func getSend(m *ice.Message, key string) *ice.Message {
|
|
||||||
return m.Target().Server().(*Frame).getSend(key)
|
|
||||||
}
|
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
"shylinux.com/x/icebergs/base/ctx"
|
"shylinux.com/x/icebergs/base/ctx"
|
||||||
"shylinux.com/x/icebergs/base/gdb"
|
"shylinux.com/x/icebergs/base/gdb"
|
||||||
"shylinux.com/x/icebergs/base/mdb"
|
"shylinux.com/x/icebergs/base/mdb"
|
||||||
"shylinux.com/x/icebergs/base/nfs"
|
|
||||||
"shylinux.com/x/icebergs/base/tcp"
|
"shylinux.com/x/icebergs/base/tcp"
|
||||||
kit "shylinux.com/x/toolkits"
|
kit "shylinux.com/x/toolkits"
|
||||||
"shylinux.com/x/toolkits/task"
|
"shylinux.com/x/toolkits/task"
|
||||||
|
2
type.go
2
type.go
@ -344,7 +344,7 @@ func (m *Message) Spawn(arg ...Any) *Message {
|
|||||||
time: time.Now(), code: int(m.target.root.ID()),
|
time: time.Now(), code: int(m.target.root.ID()),
|
||||||
meta: map[string][]string{}, data: Map{},
|
meta: map[string][]string{}, data: Map{},
|
||||||
message: m, root: m.root,
|
message: m, root: m.root,
|
||||||
source: m.target, target: m.target, _cmd: m._cmd, _key: m._key, _sub: m._sub,
|
source: m.target, target: m.target, _cmd: m._cmd, _key: m._key, _sub: m._sub, _target: logs.FileLine(2),
|
||||||
W: m.W, R: m.R, O: m.O, I: m.I,
|
W: m.W, R: m.R, O: m.O, I: m.I,
|
||||||
}
|
}
|
||||||
for _, val := range arg {
|
for _, val := range arg {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user