You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
735 B
34 lines
735 B
package common
|
|
|
|
import (
|
|
"database/sql"
|
|
"time"
|
|
|
|
"laic-backend/logger"
|
|
|
|
_ "github.com/taosdata/driver-go/v3/taosWS"
|
|
)
|
|
|
|
var TD *sql.DB
|
|
|
|
// InitTDengine 初始化 TDengine 连接池。Dsn 为空时跳过;连接失败仅告警不 panic(部署期确认)
|
|
func InitTDengine(config *TDengine) {
|
|
if config == nil || config.Dsn == "" {
|
|
logger.WARN("TDengine dsn 为空,跳过初始化")
|
|
return
|
|
}
|
|
db, err := sql.Open("taosWS", config.Dsn)
|
|
if err != nil {
|
|
logger.ERROR("TDengine connect error", err)
|
|
return
|
|
}
|
|
db.SetMaxOpenConns(10)
|
|
db.SetMaxIdleConns(5)
|
|
db.SetConnMaxLifetime(time.Hour)
|
|
if err := db.Ping(); err != nil {
|
|
logger.ERROR("TDengine ping error", err)
|
|
return
|
|
}
|
|
TD = db
|
|
logger.INFO("TDengine ready")
|
|
}
|
|
|