123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package main
- import (
- . "createindex/base"
- "createindex/des"
- "createindex/sxlsx"
- "io/ioutil"
- g "github.com/gogf/gf/util/gconv"
- "log"
- "time"
- "gopkg.in/yaml.v3"
- )
- var Config = &Cfg{}
- // 加载配置文件
- func LoadConf(file string, cfg any) {
- bs, err := ioutil.ReadFile(file)
- if err != nil {
- log.Fatal("loadcfg", err.Error())
- }
- err = yaml.Unmarshal(bs, cfg)
- if err != nil {
- log.Fatal("loadcfg json", err.Error())
- }
- }
- func main() {
- LoadConf("./config.yaml", &Config)
- Run()
- time.Sleep(30 * time.Minute)
- }
- // 运行任务
- func Run() {
- for _, v := range Config.Tasks {
- NewIdx(v).Task()
- }
- }
- // 初始化任务
- func NewIdx(task *Task) *Idx {
- var s Source
- var d Direct
- switch task.Source.Type {
- case "xlsx":
- m := task.Source.Data
- s = sxlsx.GetXlsx(g.String(m["file"]), g.String(m["sheet"]), g.MapStrStr(m["mfields"]), g.Int(m["min"]), g.Int(m["max"]))
- }
- switch task.Direct.Type {
- case "es":
- m := task.Direct.Data
- d = des.GetDes(g.String(m["addr"]), g.String(m["user"]), g.String(m["pwd"]), g.String(m["index"]), g.Int(m["size"]))
- case "tidb":
- m := task.Direct.Data
- d = des.GetDTidb(g.String(m["dbName"]), g.String(m["addr"]), g.String(m["user"]), g.String(m["pwd"]), g.String(m["colName"]))
- }
- return &Idx{s, d}
- }
|