package db import ( "runtime" "time" ) // StartCheckConnection 自动重连数据库(5S), dbType = 0 - oracle; 1 - mysql; 2 - mongodb func StartCheckConnection(dbType int) { // windows 方便调试不做ping检测 if runtime.GOOS == "windows" { return } fDelay := func() { time.Sleep(time.Duration(30) * time.Second) } switch dbType { case 0: // oracle for { if err := GetEngine().Ping(); err != nil { InitDbEngine() } fDelay() } case 1: // mysql for { if err := GetMySQLEngine().Ping(); err != nil { InitMySQLDbEngine() } fDelay() } case 2: // mongodb for { if err := GetMongoDBClient().Ping(10); err != nil { InitMongoDB() } fDelay() } } }