diff --git a/base/mdb/hash.go b/base/mdb/hash.go index 67dce3ca..d13e9e02 100644 --- a/base/mdb/hash.go +++ b/base/mdb/hash.go @@ -32,7 +32,7 @@ func _hash_inputs(m *ice.Message, prefix, chain string, field, value string) { func _hash_insert(m *ice.Message, prefix, chain string, arg ...string) string { m.Logs(INSERT, KEY, path.Join(prefix, chain), arg) defer Lock(m, prefix, chain)() - if expire := m.Conf(prefix, kit.Keys(chain, kit.Keym(EXPIRE))); expire != "" { + if expire := m.Conf(prefix, kit.Keys(chain, kit.Keym(EXPIRE))); expire != "" && arg[0] != HASH { arg = kit.Simple(TIME, m.Time(expire), arg) } if arg[0] == HASH { diff --git a/data.go b/data.go index 784200d9..76507261 100644 --- a/data.go +++ b/data.go @@ -5,6 +5,7 @@ import ( "strings" kit "shylinux.com/x/toolkits" + "shylinux.com/x/toolkits/task" ) func (m *Message) ActionKey() string { return strings.TrimPrefix(strings.TrimSuffix(m._sub, PS), PS) } @@ -38,11 +39,14 @@ func (m *Message) Confv(arg ...Any) (val Any) { // key sub value } func (m *Message) Conf(arg ...Any) string { return kit.Format(m.Confv(arg...)) } +var _important = task.Lock{} + func SaveImportant(m *Message, arg ...string) { if Info.Important != true { return } kit.For(arg, func(i int, v string) { kit.If(v == "" || strings.Contains(v, SP), func() { arg[i] = "\"" + v + "\"" }) }) + defer _important.Lock()() m.Cmd("nfs.push", VAR_DATA_IMPORTANT, kit.Join(arg, SP), NL) } func loadImportant(m *Message) {