main.go 798 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "log"
  6. "app.yhyue.com/moapp/jybase/common"
  7. "app.yhyue.com/moapp/jybase/mysql"
  8. "github.com/robfig/cron"
  9. )
  10. var (
  11. cfg = new(Config)
  12. TiDb *mysql.Mysql
  13. mode = flag.Int("m", 1, "")
  14. ch chan bool
  15. )
  16. func main() {
  17. flag.Parse()
  18. common.ReadConfig(&cfg)
  19. log.Println("cfg ", cfg)
  20. //
  21. ch = make(chan bool, cfg.Chan)
  22. //
  23. TiDb = &mysql.Mysql{
  24. Address: cfg.TiDb.Host + ":" + fmt.Sprint(cfg.TiDb.Port),
  25. UserName: cfg.TiDb.User,
  26. PassWord: cfg.TiDb.Password,
  27. DBName: cfg.TiDb.Database,
  28. MaxOpenConns: cfg.TiDb.PollSize,
  29. MaxIdleConns: cfg.TiDb.MaxIdle,
  30. }
  31. TiDb.Init()
  32. if *mode == 1 {
  33. job()
  34. a := cron.New()
  35. a.AddFunc(cfg.CornExp1, func() {
  36. job()
  37. })
  38. a.Start()
  39. select {}
  40. } else if *mode == 2 {
  41. job()
  42. select {}
  43. }
  44. }