github.com/dolotech/hongbao@v0.0.0-20191130105438-fd59d7a5dda5/src/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "github.com/golang/glog" 6 "logic" 7 "os" 8 "os/signal" 9 "syscall" 10 "time" 11 "utils/cfg" 12 "utils/db" 13 ) 14 15 func SIGINT() { 16 ch := make(chan os.Signal, 1) 17 signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP) 18 for { 19 sig := <-ch 20 switch sig { 21 case syscall.SIGINT: 22 os.Exit(0) 23 case syscall.SIGHUP, syscall.SIGTERM: 24 cfg.Reload() 25 } 26 } 27 } 28 29 func main() { 30 var fileName string 31 flag.StringVar(&fileName, "conf", "cfg.toml", "Configuration file to start game") 32 flag.Parse() 33 glog.Infoln("Configuration is", fileName) 34 err := cfg.ParseToml(fileName) 35 if err != nil { 36 glog.Errorln("配置文件.toml出错") 37 glog.Fatal(err) 38 } 39 40 go SIGINT() 41 db.InitMysql(cfg.Opts().MysqlDB.User, cfg.Opts().MysqlDB.Password, cfg.Opts().MysqlDB.Host, cfg.Opts().MysqlDB.DBName) 42 43 list := cfg.Opts().Cookies 44 45 //db.Get().CreateTable(&data.HonbaosTb{}) 46 //db.Get().CreateTable(&data.HonbaoTb{}) 47 s:=logic.Float(10.13) 48 49 50 51 glog.Info(s.String()) 52 glog.Info(s.Last()) 53 54 for _, value := range list { 55 if value.Mode == 0{ 56 for { 57 go logic.GetAll(value) 58 time.Sleep(time.Millisecond * 500) 59 } 60 }else{ 61 go logic.Websocet(value) 62 } 63 64 65 66 } 67 select {} 68 }