12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package global
- import (
- "database/sql"
- "fmt"
- "log"
- "time"
- "xugu_license/internal/module/capture"
- _ "xugu_license/pkg/xugu"
- )
- var XuguDB *sql.DB
- var OaDB *sql.DB
- func InitDb() {
- cfg := LoadConfig("./config.toml")
- fmt.Println("cfg", cfg)
- licDbstr := fmt.Sprintf("IP=%s;DB=%s;User=%s;PWD=%s;Port=%s;AUTO_COMMIT=on;CHAR_SET=UTF8",
- cfg.Database.LicDBIP,
- cfg.Database.LicDBDb,
- cfg.Database.LicDBUser,
- cfg.Database.LicDBPass,
- cfg.Database.LicDBPort)
- oaDbstr := fmt.Sprintf("IP=%s;DB=%s;User=%s;PWD=%s;Port=%s;AUTO_COMMIT=on;CHAR_SET=UTF8",
- cfg.Database.OADBIP,
- cfg.Database.OADBDb,
- cfg.Database.OADBUser,
- cfg.Database.OADBPass,
- cfg.Database.OADBPort)
- var err error
- XuguDB, err = sql.Open("xugusql", licDbstr)
- if err != nil {
- log.Fatal("XuguDB err ", err)
- }
- XuguDB.SetConnMaxLifetime(time.Hour)
-
-
-
-
- OaDB, err = sql.Open("xugusql", oaDbstr)
- if err != nil {
- log.Fatal("OaDB err ", err)
- }
- if err := OaDB.Ping(); err != nil {
- log.Fatal("OaDB ping err ", err)
- }
- OaDB.SetConnMaxLifetime(time.Hour)
-
- go capture.StartCapture(OaDB, XuguDB)
-
-
-
-
-
-
-
-
-
-
- }
- func keepDBAlive(db *sql.DB) {
- ticker := time.NewTicker(5 * time.Minute)
- defer ticker.Stop()
- for range ticker.C {
- err := db.Ping()
- if err != nil {
- log.Println("数据库连接丢失,重试中...")
-
- } else {
- log.Println("数据库连接正常")
- }
- }
- }
|