package main import ( "github.com/ClickHouse/clickhouse-go/v2/lib/driver" "jygit.jydev.jianyu360.cn/data_processing/common_utils/elastic" "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb" ) type conf struct { MgoB db `json:"mgob"` MgoPro db `json:"mgopro"` //MysqlDb db `json:"mysqldb"` ClickHouse ckh `json:"clickhouse"` Es db `json:"es"` BidStartTime int64 `json:"bidstarttime"` //bidding增量起始id ProStartTime int64 `json:"prostarttime"` //project增量起始id StartCron string `json:"startcron"` } type db struct { Addr string `json:"addr"` DbName string `json:"dbname"` Size int `json:"size"` Username string `json:"username"` Password string `json:"password"` Index string `json:"index"` } type ckh struct { Addr []string `json:"addr"` DataBase string `json:"database"` Size int `json:"size"` Username string `json:"username"` Password string `json:"password"` } var ( Config conf MgoB *mongodb.MongodbSim //bidding MgoPro *mongodb.MongodbSim //project CkhTool driver.Conn // Es *elastic.Elastic //MysqlTool *mysqldb.Mysql BidStartTime int64 ProStartTime int64 ) //var ( // TransactionSaveCache = make(chan map[string]interface{}, 1000) // // Transaction_Ch = make(chan bool, 5) //) func InitMgo() { //bidding MgoB = &mongodb.MongodbSim{ MongodbAddr: Config.MgoB.Addr, DbName: Config.MgoB.DbName, Size: Config.MgoB.Size, UserName: Config.MgoB.Username, Password: Config.MgoB.Password, } MgoB.InitPool() //project MgoPro = &mongodb.MongodbSim{ MongodbAddr: Config.MgoPro.Addr, DbName: Config.MgoPro.DbName, Size: Config.MgoPro.Size, UserName: Config.MgoPro.Username, Password: Config.MgoPro.Password, } MgoPro.InitPool() } //func InitMysql() { // MysqlTool = &mysqldb.Mysql{ // Address: Config.MysqlDb.Addr, // DBName: Config.MysqlDb.DbName, // UserName: Config.MysqlDb.Username, // PassWord: Config.MysqlDb.Password, // } // MysqlTool.Init() //} func InitCkh() { CkhTool, _ = InitClickHouse( Config.ClickHouse.Addr, Config.ClickHouse.Size, Config.ClickHouse.DataBase, Config.ClickHouse.Username, Config.ClickHouse.Password, ) } func InitEs() { Es = &elastic.Elastic{ S_esurl: Config.Es.Addr, I_size: Config.Es.Size, Username: Config.Es.Username, Password: Config.Es.Password, } Es.InitElasticSize() } func InitOther() { BidStartTime = Config.BidStartTime ProStartTime = Config.ProStartTime }