package main import ( "app.yhyue.com/data_processing/common_utils/elastic" "app.yhyue.com/data_processing/common_utils/log" "app.yhyue.com/data_processing/common_utils/mongodb" "fieldproject_inc_data/config" "fmt" "os" ) var ( MongoTool, MongoTool1, MongoTool2 *mongodb.MongodbSim Es *elastic.Elastic saveSize int savePool chan map[string]interface{} saveSp chan bool EsSaveCache chan map[string]interface{} SP chan bool updateEsPool chan []map[string]interface{} updateEsSp chan bool ) func init() { config.Init("./common.toml") InitLog() InitMgo() InitEs() saveSize = 200 savePool = make(chan map[string]interface{}, 5000) saveSp = make(chan bool, 5) EsSaveCache = make(chan map[string]interface{}, 1000) SP = make(chan bool, 5) updateEsPool = make(chan []map[string]interface{}, 5000) updateEsSp = make(chan bool, 1) log.Info("init success") } func InitLog() { logcfg := config.Conf.Log err := log.InitLog( log.Path(logcfg.LogPath), log.Level(logcfg.LogLevel), log.Compress(logcfg.Compress), log.MaxSize(logcfg.MaxSize), log.MaxBackups(logcfg.MaxBackups), log.MaxAge(logcfg.MaxAge), log.Format(logcfg.Format), ) if err != nil { fmt.Printf("InitLog failed: %v\n", err) os.Exit(1) } } func InitMgo() { MongoTool = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.Mongo.Addr, Size: config.Conf.DB.Mongo.Size, DbName: config.Conf.DB.Mongo.Dbname, UserName: config.Conf.DB.Mongo.User, Password: config.Conf.DB.Mongo.Password, } MongoTool.InitPool() MongoTool1 = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.Mongo1.Addr, Size: config.Conf.DB.Mongo1.Size, DbName: config.Conf.DB.Mongo1.Dbname, UserName: config.Conf.DB.Mongo1.User, Password: config.Conf.DB.Mongo1.Password, } MongoTool1.InitPool() MongoTool2 = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.Mongo2.Addr, Size: config.Conf.DB.Mongo2.Size, DbName: config.Conf.DB.Mongo2.Dbname, UserName: config.Conf.DB.Mongo2.User, Password: config.Conf.DB.Mongo2.Password, } MongoTool2.InitPool() } func InitEs() { Es = &elastic.Elastic{ S_esurl: config.Conf.DB.Es.Addr, I_size: config.Conf.DB.Es.Size, } Es.InitElasticSize() }