123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 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
- var Cfg *Config
- 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("数据库连接正常")
- }
- }
- }
|