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  }