| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package handler
- import (
- "encoding/json"
- "os"
- "time"
- "bet24.com/log"
- platformconfig "bet24.com/servers/micros/platformconfig/proto"
- pb "bet24.com/servers/micros/task/proto"
- )
- const config_key = "task_config"
- const refresh_config_sec = 600
- func (tm *taskmgr) loadSysTaskFromJson() bool {
- time.AfterFunc(refresh_config_sec*time.Second, func() {
- tm.loadSysTaskFromJson()
- })
- configString := platformconfig.GetConfig(config_key)
- // if configString == "" {
- data, err := os.ReadFile("serviceconf/systemtask.json")
- if err != nil {
- return false
- }
- configString = string(data)
- platformconfig.SetConfig(config_key, configString)
- // } else {
- // log.Release("task.taskmgr loading config from redis")
- // }
- if configString == tm.lastConfig {
- return false
- }
- tm.lastConfig = configString
- var list []pb.Task
- err = json.Unmarshal([]byte(configString), &list)
- if err != nil {
- log.Release("taskmgr.loadSysTaskFromJson Unmarshal task failed err:%v", err)
- return false
- }
- if len(list) == 0 {
- log.Release("taskmgr.loadSysTaskFromJson Unmarshal task failed err:%v", err)
- return false
- }
- tm.sys_lock.Lock()
- for k, v := range list {
- tm.sys_tasklist[v.Id] = &list[k]
- }
- tm.sys_lock.Unlock()
- return true
- }
|