diff --git a/conf/config.go b/conf/config.go index 1da76f5..6219105 100644 --- a/conf/config.go +++ b/conf/config.go @@ -12,6 +12,7 @@ import ( var ( config = make(map[string]string) LogDebug bool + DataDir = "" ) func Load(path string) { @@ -54,6 +55,8 @@ func Load(path string) { } LogDebug = strings.EqualFold(config["log.level"], "debug") + DataDir = GetStr("data.dir", "data") + os.MkdirAll(DataDir, os.ModeDir) } func GetStr(key string, def string) string { diff --git a/zsub/zdb.go b/zsub/zdb.go index 87ac9a7..2d72946 100644 --- a/zsub/zdb.go +++ b/zsub/zdb.go @@ -8,6 +8,7 @@ import ( "strconv" "strings" "time" + "zhub/conf" ) var ( @@ -38,18 +39,20 @@ func Append(str string, fileName string) { func (s *ZSub) saveDelay() { s.Lock() defer s.Unlock() - err := os.Remove("delay.z") + err := os.Remove(conf.DataDir + "/delay.z") if err != nil { log.Println(err) } + var str string for _, delay := range s.delays { - Append(fmt.Sprintf("%s %s %s\n", delay.topic, delay.value, strconv.FormatInt(delay.exectime.Unix(), 10)), "delay.z") + str += fmt.Sprintf("%s %s %s\n", delay.topic, delay.value, strconv.FormatInt(delay.exectime.Unix(), 10)) } + Append(str, conf.DataDir+"/delay.z") } func (s *ZSub) reloadDelay() { - f, err := os.Open("delay.z") + f, err := os.Open(conf.DataDir + "/delay.z") if err != nil { return }